我需要更改种子的值、输出 ( HA.xyz
) 和名称文件以生成 100 个不同的文件。
# MSA: H2O
seed 129472
tolerance 1.0
filetype xyz
output HA.xyz
Structure H2O.xyz
number
inside cube
end structure
Structure .xyz
number
inside cube
end structure
答案1
while read -r seed name; do
sed -e "s/^seed.*/seed $seed/" \
-e "s/^output.*/output $name/" template.txt >"${name%.*}-$seed.conf"
done <file.in
这将读取一个名为file.in
.该文件的格式应该是
00000 filename.ext
(第一列中的种子值、空格和文件名)
该sed
命令将从 中获取模板template.txt
(格式如问题中所示的文件)并生成新文件。
新文件的名称类似于filename-00000.conf
(使用文件名,不带文件扩展名,以及file.in
文件中的种子)。
表达式sed
简单地查找以ortemplate.txt
开头的行并插入适当的值。seed
output