Есть по крайней мере сто тысяч миллионов различных подходов к этому, но вот главные претенденты:
Баш за петлю
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