我的 shell 是bash
,我需要编写一个脚本,针对几个文件夹中的每个输入数据运行特定的软件。例如:
gd2p.pl -i /home/WORKDIR/folder1/input1.o
假设我在 WORKDIR 中有 20 个文件夹,每个文件夹都包含输入文件。我该如何编写脚本来自动为每个文件夹和每个输入文件运行上述代码?
答案1
你可以尝试一下这个代码。
for file in */*; do # Loop trough any file in any folder
if [ -f "$file" ]; then # If the current element is a file
gd2p.pl -i "$file" # Run the program
fi # End if
done # End loop
答案2
我的解决方案是使用 find:
find /home/WORKDIR/ -name "input*.o" -exec gd2p.pl -i {} \;
这为您提供了(实际上)无限的子文件夹结构深度。