Comment couper un nom de fichier contenant des caractères supplémentaires à l'aide des commandes shell

2

J'ai une liste de milliers de fichiers qui ont des noms de fichiers avec .txt.txt ajouté deux fois, je veux supprimer le second .txt du fichier. par exemple.

File1.txt.txt est le fichier d'origine.

Je veux le renommer en File1.txt

Je ne peux pas le faire manuellement car il y a mille fichiers. J'ai essayé différentes combinaisons en utilisant la commande mv mais je n'ai pas eu de chance. S'il vous plaît, aidez.

    
posée Ankit Zalani 19.06.2014 - 08:15
la source

1 réponse

4

Exécutez la commande rename ci-dessous sur le répertoire où sont stockés les fichiers *.txt.txt ,

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

Il vérifie les fichiers terminés par .txt s'il en trouve, puis il supprime la dernière partie .txt .

OU

Si le dossier contient des fichiers dans les deux formats tels que file.txt.txt et file.txt , vous pouvez exécuter la commande ci-dessous pour supprimer la dernière partie .txt des seuls fichiers ayant le format file.txt.txt ,

rename 's/\.txt$//' *.txt.txt
    
réponse donnée Avinash Raj 19.06.2014 - 08:19
la source

Lire d'autres questions sur les étiquettes