我正在使用for循环在linux中执行我的命令。我在一个输入中有20个文件,在另一个输入中有20个文件
for f1 in zero-mam-2050-2074*.nc;
do;
f2={avm-mam-1976-2000-tasmax-*.nc};
command $f1 $f2 output;
done
没有阅读第二个输入。
答案 0 :(得分:0)
for f1 in zero-mam-2050-2074*.nc;
do;
f2={avm-mam-1976-2000-tasmax-*.nc};
command $f1 $f2 output;
done
没用。
for f1 in zero-mam-2050-2074*.nc
do
f2={avm-mam-1976-2000-tasmax-*.nc}
command $f1 $f2 output
done
第3行很可疑。你想让我做什么?创建一个数组?
for f1 in zero-mam-2050-2074*.nc
do
f2=(avm-mam-1976-2000-tasmax-*.nc)
command "$f1" "${f2[@]}" output
done
要循环,让我们说20个文件,匹配模式f1,并调用每个文件,假设有20个匹配f2的文件:
for f1 in zero-mam-2050-2074*.nc
do
f2=avm-mam-1976-2000-tasmax-*.nc
command "$f1" $f2 output
done
这将导致20个命令调用,滚动到f1,但每个调用所有匹配f2的文件。
对于20x20匹配,您将使用第二个循环。 适合我硬盘上的文件格式:
for f1 in file1*; do f2=sample.*; echo command "$f1" $f2* output; done
command file1 sample.conf sample.go sample.log sample.xml output
command file1.txt sample.conf sample.go sample.log sample.xml output
command file1nums sample.conf sample.go sample.log sample.xml output
您当然会使用您的模式,并在测试后删除 echo 。