我有 4000 个文件,命名为 1 到 4000,包括 1 和 4000。
我写了下面的命令,我想运行我为从 1 到 4000 的所有文件写了 4000 次的脚本,所以我写了:
for i in {1..4000}; do pymol -c script.pml; done
问题是,脚本中的数字本身每次都需要更改,我的脚本如下:
load 1.pdb
remove resname GRM
color green, resname G8LE
load 0.pdb
color grey40, resname GRM
rotate x, -45
show spheres
save 1.png
我需要替换数字 1(在加载后的第一行和保存后的最后一行)替换为从 1 到 4000 的所有数字。这样每次加载和处理下一个文件然后保存它合适的号码等等。
你能指导我在我的脚本和/或我的终端中改变什么来实现这一点吗?
谢谢, 穆罕默德
如果可能的话,最好有一个 argv。我不知道是否可以从终端为 pml 脚本提供参数。否则,您可以使用此 hack 从 bash/terminal 或运行它的 .sh 脚本更改 pml 脚本。在您运行它之前,它将相应地更改 pml 脚本。
让我知道这是否有帮助:)
评论后编辑:
在 pml 脚本的第一行中区分加载命令 put 和额外空间并使用它。