Localizando e renomeando arquivos

2

Eu tenho cerca de 1000 arquivos contendo o caractere * no nome. Eu preciso encontrar esses arquivos e substituir o * por um - . Eu estou trabalhando com o HP UX v11. Eu estou usando o seguinte comando

find . -type f -name '*\**' -exec bash -c 'f="$1"; mv "$f" "${f//\*/-}"' - '{}' \;

Me disseram que funciona, mas para mim ele renomeia o arquivo completo para - em vez de substituir o * .

GNU bash, versão 2.04.0 (1) -release (hppa2.0w-hp-hpux11.00)

    
por RustywithUnix 08.01.2014 / 20:00

1 resposta

0

Tente este comando comando:

find . -type f -name '*\**' -exec bash -c 'f="$1"; echo mv "$f" 'echo "$f"|tr "\*" "-"'' - '{}' \;
    
por 08.01.2014 / 21:02