Como usar o comando mv para remover caracteres indesejados de vários arquivos no mesmo diretório

0

Eu tenho em um diretório alguns arquivos:

agent_datad.bin
_codecs_cn.cpython-34m.so
_Crypto.Cipher._ARC4.so
Crypto.Hash._RIPEMD160.so
...
other files

Como posso remover o _ do início de cada arquivo que começa com esse caractere? Eu quero apenas o primeiro _ removido, pois alguns arquivos podem ter sublinhado em outra posição. Um comando de uma linha seria incrível.

Como menção, uso o CentOS 7 e usar mv não é obrigatório, mas foi o que me veio à mente.

    
por яүυк 03.03.2016 / 18:45

1 resposta

0

Tente este one-liner (o eco mostra o que o comando fará):

for name in *; do echo mv ${name} ${name##_} ; done

${name##_} retorna a variável $ name sem o _ no início da variável

Quando estiver satisfeito, remova o echo do comando.

Boa sorte!

    
por 04.03.2016 / 01:21