Предположим, вы просто хотите переименовать файлы. Затем, если вы используете оболочку Bourne (например, sh
, bash
), вы можете запустить команду для файлов, соответствующих шаблону, используя цикл for
. Вот эквивалентные многострочные и однострочные версии:
for f in *.mid
do
mv "$f" "${f%.mid}.wav"
done
for f in *.mid; do mv "$f" "${f%.mid}.wav"; done
Цикл for
запускает команды, где $f
является каждым словом в расширении *.mid
, а ${f%.mid}
удаляет суффикс .mid
чтобы мы могли заменить его на .wav
. Кавычки делают эту программу корректной для имен файлов, содержащих пробелы (но не для имен файлов, начинающихся с «-», поскольку это зависит от команды). Если вы хотите сопоставить несколько групп файлов, а не все, вы можете использовать несколько шаблонов, например for f in alpha-*.mid beta-*.mid; do ...
Вы можете использовать любую команду вместо mv
. Я взглянул на справочную страницу Timidity, но я не мог понять, где он берет выходное имя файла, поэтому я не привел пример.