Есть по крайней мере сто тысяч миллионов различных подходов к этому, но вот главные претенденты:
Баш за петлю
for f in ./*.doc; do
# do some stuff here with "$f"
# remember to quote it or spaces may misbehave
done
С помощью find
У find
команды есть прекрасная маленькая exec
команда, которая отлично подходит для запуска вещей (с некоторыми оговорками). Найти лучше, чем обычные операции с глобализацией, потому что вы действительно можете отфильтровать выбранные вами файлы. Будьте осторожны с нечетным синтаксисом.
find . -iname '*.doc' -exec echo "File is {}" \;
Обратите внимание, что find
это рекурсивно, поэтому вы можете использовать его -maxdepth 1
для сохранения find
в текущем рабочем каталоге. -type f
может быть использован для фильтрации обычных файлов.
Если мы просто переименовываем документ в txt ...
rename
Команда SED-как в поиске. Очевидно, что это ничего не сделает для преобразования формата.
rename 's/doc$/txt/' *.doc