我想在几个txt文件中更改一个变量。但是这个变量在每个txt文件中不应该相等。 我尝试过这个,但它不起作用。
for file in ./*.txt ;do
for value in $(seq 1 5); do
sed -i 's/x_max=.*/x_max='$value'/ ' $file
done
done
所以每个x_max都得到了值:5
答案 0 :(得分:1)
这应该可以解决问题。仅替换每个文件一次,每次都使用不同的值。
value=1
for file in *.txt; do
sed -i 's/x_max=.*/x_max='$value'/' $file
value=$((value + 1))
done
答案 1 :(得分:0)
应该这样做 - 只迭代一次并在每次运行后将计数器提高1:
counter=1
for file in ./*.txt ;do
sed -i 's/x_max=.*/x_max='$counter'/ ' $file
(( counter++ ))
done