0

为了简化我的工作,我通常这样做:

   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 数量。还有我什至不知道放在哪里的命名问题......

希望很清楚我在问什么。以前从来没有做过这样的任务,命令行真的很有帮助。

期待!

4

1 回答 1

2
NEWNAME="${FILE_A##*/}_${FILE_B##*/}_output.txt"
于 2012-04-19T19:00:54.147 回答