为了简化我的工作,我通常这样做:
for FILE in ./*.txt;
do ID=`echo ${FILE} | sed 's/^.*\///'`;
bin/Tool ${FILE} > ${ID}_output.txt;
done
因此进程循环遍历所有 *.txt 文件。
现在我有两个文件组 - 我的工具使用两个输入(-a 和 -b)。是否有任何命令可以在每个 FILE_B 上为每个 FILE_A 运行 Tool 并将输出文件命名为它们的组合?
我想它应该看起来像这样:
for FILE_A in ./filesA/*.txt;
do for FILE_B in ./filesB/*.txt;
bin/Tool -a ${FILE_A} -b ${FILE_B} > output.txt;
done
因此,该过程将运行 filesA 中的 *.txt 数量超过 filesB 中的 *.txt 数量。还有我什至不知道放在哪里的命名问题......
希望很清楚我在问什么。以前从来没有做过这样的任务,命令行真的很有帮助。
期待!