Você pode usar find
, pesquisando recursivamente a partir do diretório atual:
find . -type f -name 'start*.ext' -exec mv -i {} foobar.txt \;
Supondo que o nome do arquivo comece com start
e tenha uma extensão .ext
, renomeie o arquivo para foobar.txt
. Substitua-os para atender sua necessidade.
Pesquisando não recursivamente:
find . -maxdepth 1 -type f -name 'start*.ext' -exec mv -i {} foobar.txt \;
Note que, para renomear um monte de arquivos para padrões específicos, a abordagem será diferente; O procedimento acima é para encontrar-renomear um único arquivo para algo fixo como você mencionou na pergunta.
Como você quer apenas renomear o arquivo, você pode usar rename
( prename
) também:
rename -n 's/^start.*?\.ext$/foobar.txt/' *.*
-n
fará a execução a seco, para executar a ação real remover -n
:
rename 's/^start.*?\.ext$/foobar.txt/' *.*