find /home/user/my/folder -type f -exec perl myperscitpt.pl "{}" "{}.txt" \;
Эта команда найдет все файлы в каталоге (и подкаталоге) и выполнит ваш Perl-скрипт.
find /home/user/my/folder -type f -iname "a*" -or -iname "b*" -or -iname "c*" -exec perl myperscitpt.pl "{}" "{}.txt" \;
Вы можете заменить /home/user/my/folder
точкой .
если вы хотите найти в текущей папке.
{}
- это путь к имени файла (и имени файла).
\;
требуется при использовании -exec в конце команды
-type f
означает поиск файлов (не каталогов)
-iname "a*" -or -iname "b*" -or -iname "c*"
означает поиск файлов, которые начинаются с a или b или c. -iname
нечувствителен к регистру, -name
чувствителен к регистру.
Эта команда также будет искать в подкаталогах . Если вы не хотите искать в подкаталогах, вы устанавливаете -maxdepth
(используйте его в качестве первого аргумента в вашей команде поиска):
find /home/user/my/folder -maxdepth 1 -type f -iname "a*" -or -iname "b*" -or -iname "c*" -exec perl myperscitpt.pl "{}" "{}.txt" \;
find - мощная команда с большим количеством опций, см. руководство: http://www.gnu.org/software/findutils/manual/html_mono/find.html#Finding-Files