我有2个shell脚本,它们的内容是:
1.txt
a=1
b=2
c=3
2.txt
a=1
b=2
c=3
现在我想将a=1
更改为a=7
和a=8
,所以我写了一个shell脚本
f={7,8}
for i in {0..1}
do
sed -i "s/a=1/a=${f[${i}]}/g" $i.txt
done
但是失败了。有人能弄清楚吗?
答案 0 :(得分:0)
要定义数组,请使用括号且不要使用逗号:
f=(7 8)
您还需要将$i
调整1以确保文件名正确:
sed -i "s/a=1/a=${f[i]}/g" "$((i+1)).txt"
(请注意,${f[${i}]}
可以缩短为${f[i]}
,因为数组索引是在算术上下文中求值的,其中美元符号是可选的。)