Use rename
.
rename -nv 's/\.G1\./\.SH\./' *.G1.*
-n
é usado para execução a seco, uma vez que você vê o que está sendo renomeado e, se estiver correto, remova a opção n
para ter renomeação real.
Eu tenho um conjunto de mais de 1000 arquivos cujos nomes são IR.ANJ.G1.E.20060102.185428.mseed
with G1
em comum.
Eu vou alterar G1
em todos os arquivos para SH
.
Por exemplo, IR.ANJ.G1.E.20060102.185428.mseed
muda para IR.ANJ.SH.E.20060102.185428.mseed
e continua para todos os arquivos.
Como posso fazer isso?
Use rename
.
rename -nv 's/\.G1\./\.SH\./' *.G1.*
-n
é usado para execução a seco, uma vez que você vê o que está sendo renomeado e, se estiver correto, remova a opção n
para ter renomeação real.
Usando bash
ou qualquer outro shell que entenda a substituição do padrão ${parameter/pattern/string}
:
for name in ./*.G1.*; do
echo mv "$name" "${name/.G1./.SH.}"
done
Remova o echo
depois de executar uma vez com ele (para verificar se está fazendo a coisa certa).
Tags rename files shell-script