我想在bash中使用for循环的索引来计算一个数字,然后将该数字传递给sed:
for i in {1989..2009..1}
do
let year=i-1
echo $year
find /cygdrive/d/snowmodel/$i/snowmodel.par -type f -exec \
sed -i 's/iyear_init = 1989/iyear_init = '$year'/g' {} +
done
所以我想用 line 替换iyear_init = 1989
line iyear_init = (the value of i-1, which should be the variable "year")
。
该echo $year
命令返回正确的值,但似乎当它被传递给 sed 时,它会恢复为将年份视为字符串。
谢谢你的帮助。