O Debian rename
permite que você especifique um padrão de substituição de sed para aplicar em nomes de arquivos para renomeá-los.
Eu usei um script que renomeou meu arquivo, por exemplo, 'echo webutil.olb | tr [A-Z] [a-z] ' Eu queria renomeá-lo de volta para webutil.olb . Como faço isso para muitos outros arquivos que eu tenho
O Debian rename
permite que você especifique um padrão de substituição de sed para aplicar em nomes de arquivos para renomeá-los.
Supondo que os arquivos foram renomeados com as strings extras, isso provavelmente ajudaria:
for file in echo*
do
new="${file#* }" # strip up to the first space (remove "echo ")
new="${new% |*}" # strip the space-pipe and after (remove " | tr ...")
mv "$file" "$new"
done
Isso renomeará, por exemplo, um arquivo chamado literalmente "echo webutil.olb | tr [A-Z] [a-z]" para ser nomeado "webutil.olb" e funcionará para outros arquivos de nome similar. Ele espera que os nomes desejados estejam entre um espaço e um espaço seguidos por um pipe.
Para o seu exemplo, tr
deixou o webutil.olb como estava.
Em geral, você não pode fazer isso, pois perde as informações sobre o caso. Por exemplo, o nome do arquivo "webutil.olb" pode vir da aplicação de tr para "WebUtil.olb" ou "WEBUTIL.olb".