Я хотел бы запустить скрипт, скажем, convert.py (который преобразует двоичный файл в ascii, но выводит в стандартный вывод) для примерно 30 * .gz файлов, но вместо вывода на экран он переходит в * Файл .txt, аналогичный таковому: convert.py jonny.gz> jonny.txt Как мне это сделать с помощью цикла for или команды find? спасибо
Простой for
цикл:
for f in ./*.gz; do
convert.py "$f" > "${f%.gz}.txt"
done
Используя эти find
команда:
find . -maxdepth 1 -name '*.gz' -exec sh -c 'convert.py "$1" > "${1%.gz}.txt"' sh {} \;
или
find . -maxdepth 1 -name '*.gz' -exec sh -c '
for f; do convert.py "$f" > "${f%.gz}.txt"; done
' sh {} +
(нет действительно никакого преимущества для использования find
в этом случае).