我正在尝试在批处理脚本中使用for
循环来更改文件中的某些变量。
我可以使用一个变量成功完成,因为for
循环遍历与该变量关联的列表。现在我需要第二个变量同时运行并替换文件中的值。这是我正在使用的代码:
#!bin/bash
declare -a subjectID=(AA BB CC)
for subject in ${subjectID[@]}
do
sed -i 's/XX/'$subject'/g' design.txt
done
现在我想要一个带有不同值列表的第二个变量(比如名为volume
),但仍然使用sed
替换txt文件中的某些字符的过程相同。
任何帮助?
答案 0 :(得分:1)
我相信这应该符合您的需求:
#!bin/bash
declare -a subjectID=(AA BB CC);
declare -a volume=(xx yy zz);
i=0;
while [ $i -lt ${#subjectID[@]} ] #assumes you can guarantee the array lengths are the same
do
sed -i '' 's/XX/'${subjectID[$i]}'/g' design.txt;
sed -i '' 's/YY/'${volume[$i]}'/g' design.txt;
#call your other thing here
let i=$i+1;
done