我只想在文件中更改一个数字,然后运行它并保存输出文件。这需要以迭代方式完成。
cat文件1
decay=( 1 5 2 6 )
for i in $decay
do
run file2.i
done
cat file2.i
cell 215 cell 115 cell ${i}
所以现在对于每个衰减(i),我需要file2.i才能使用衰减(i)。同样,输出文件将始终具有相同的名称file2.i_outp。如何在每次运行时保存输出文件,而不是覆盖每个i。
答案 0 :(得分:0)
将模板file2.i
复制到一个临时文件,将${decay}
替换为当前数组元素。
decay=(1 5 2 6)
for i in $decay
do
sed "s/\\${i}/$i/" file2.i > /tmp/file2.i.$$
run /tmp/file2.i.$$
rm /tmp/file2.i.$$
done > file2.i_outp
答案 1 :(得分:0)
这个很好用
for i in {1 5 2 6}
do
sed "s/\\${i}/$i/" file2.i > /tmp/file2.i.$$
run /tmp/file2.i.$$
rm /tmp/file2.i.$$
done > file2.i_outp