You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Bash脚本按序访问编号序列文件并生成对应命名的输出文件

Bash按序号遍历pdb文件并生成指定格式输出的解决方案

问题原因

你当前脚本输出不符合预期的核心原因是crysol_30工具默认会自动识别输入文件名中的序号,按自身的补零规则生成输出前缀,没有使用你期望的原始序号格式。

修正后的运行脚本

你可以通过手动指定输出前缀的方式,强制输出文件名符合要求,修正后的脚本如下:

#!/bin/bash
for i in {0..10000}
do
    # 仅在输入文件存在时运行命令,避免不必要的报错
    if [ -f "op_${i}.pdb" ]; then
        crysol_30 op_${i}.pdb --prefix "op_${i}"
    fi
done

已有错误命名文件批量修正方案

如果你已经生成了大量带错误前缀的输出文件,可以用以下命令批量重命名为目标格式:

# 重命名-water.pdb后缀的文件
rename 's/op_0*([0-9]+)-/op_$1-/' op_*-water.pdb
# 重命名其余四类后缀的文件
rename 's/op_0*([0-9]+)\./op_$1./' op_*.{log,int,alm,abs}

注:上述rename命令为Perl版本,是绝大多数Linux发行版的默认预装版本,可直接使用。

内容的提问来源于stack exchange,提问作者user13120453

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 20:45:04