Como aparar o nome do arquivo contendo caracteres extras usando comandos shell

2

Eu tenho uma lista de mil arquivos que possuem nomes de arquivo com .txt.txt acrescentado duas vezes, desejo remover o segundo .txt do arquivo. por exemplo,

File1.txt.txt é o arquivo original.

Eu quero renomeá-lo para File1.txt

Eu não posso fazer isso manualmente porque existem milhares de arquivos. Eu tentei combinações diferentes usando o comando mv , mas não tive sorte. Por favor ajude.

    
por Ankit Zalani 19.06.2014 / 08:15

1 resposta

4

Execute o comando rename abaixo no diretório em que *.txt.txt arquivos estão armazenados,

rename 's/\.txt$//' *.txt

Ele verifica os arquivos terminados com .txt , se encontrar algum, então remove a última parte .txt .

OR

Se a pasta contiver arquivos em ambos os formatos, como file.txt.txt e file.txt , você poderá executar o comando abaixo para remover a última parte .txt somente dos arquivos com o formato file.txt.txt ,

rename 's/\.txt$//' *.txt.txt
    
por Avinash Raj 19.06.2014 / 08:19