Suponha que você queira apenas renomear arquivos. Então, se você estiver usando um shell Bourne (como sh
, bash
), poderá executar o comando em arquivos que correspondam a um padrão usando um for
loop. Aqui estão as versões multilinha e de linha única equivalentes:
for f in *.mid
do
mv "$f" "${f%.mid}.wav"
done
for f in *.mid; do mv "$f" "${f%.mid}.wav"; done
O loop for
executa os comandos com $f
sendo cada palavra na expansão de *.mid
e ${f%.mid}
remove o sufixo .mid
para que possamos substituí-lo por .wav
. As aspas tornam este programa correto para nomes de arquivos contendo espaços (mas não nomes de arquivos que começam com "-", já que isso depende do comando). Se você quiser combinar vários grupos de arquivos em vez de tudo, poderá usar vários padrões como for f in alpha-*.mid beta-*.mid; do ...
Você pode usar qualquer comando que desejar no lugar de mv
. Eu dei uma olhada na página man do Timidity, mas não consegui descobrir onde é necessário um nome de arquivo de saída, então eu não dei um exemplo.