Моя оболочка - bash
, и мне нужно написать скрипт, который запускает определенное программное обеспечение для каждой входной информации в нескольких папках. Например:
gd2p.pl -i /home/WORKDIR/folder1/input1.o
Допустим, у меня есть 20 папок в WORKDIR, и каждая папка содержит входные файлы. Как я могу написать скрипт, который автоматически запускает вышеуказанные коды для каждой папки и каждого входного файла?
Можно попробовать этот код.
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
Мое решение состояло бы в том, чтобы использовать, найдите:
find /home/WORKDIR/ -name "input*.o" -exec gd2p.pl -i {} \;
, Который дает Вам (фактически) неограниченную глубину в подструктуре папок.