如何使用shell的for循环更改两个文件

如何使用shell的for循环更改两个文件

我想使用 for 循环在 shell 中创建文件。我有 3 个名为sensor_1.nmfsensor_2.nmf、的文件sensor_3.nmf,我想使用一个软件为上面的每个文件创建另外 7 个 python 文件,即,使用sensor_1创建 7 个 python 文件,如r_sensor_1.py, r_sensor_2.py... 我的代码如下:

for j in 1 2 3
do
    for k in 1 2 3 4 5 6 7
        nacs2.2 -l nacs_mphs -m sensor_${j}.nmf -p r_sensor_${k}.py r_sensor_${j}_${k}
    done
done

但这行不通。有人可以帮助我吗?谢谢。

答案1

您可以使用大括号扩展而不是迭代 for 循环。

nacs2.2 -l nacs_mphs -m sensor_${1,2,3}.nmf -p \
r_sensor_${1,2,3,4,5,6,7}.py r_sensor_${1,2,3}_${1,2,3,4,5,6,7}

答案2

在你的内部 for 循环中你错过了“do”。

for j in 1 2 3
do
  for k in 1 2 3 4 5 6 7
  do
     nacs2.2 -l nacs_mphs -m sensor_${j}.nmf -p r_sensor_${k}.py r_sensor_${j}_${k}
  done
done

相关内容