Altera uma parte do nome de mais de 1000 arquivos

0

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?

    
por Hossein Kianimehr 24.09.2017 / 07:47

2 respostas

2

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.

    
por 24.09.2017 / 07:57
1

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).

    
por 24.09.2017 / 08:34