如何用 sed 生成和替换文件

如何用 sed 生成和替换文件

我需要更改种子的值、输出 ( 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开头的行并插入适当的值。seedoutput

相关内容