GNU/Linux >> Tutoriels Linux >  >> Linux

Renommer les fichiers dans le répertoire ?

Comment renommer des fichiers dans un répertoire tel que le fichier suivant :PMC21375.pdf.txt , je dois être renommé en 21375.txt . c'est-à-dire que je dois supprimer à la fois PMC et pdf de chaque nom de fichier.

Réponse acceptée :

Avec le rename de perl :

rename 's/(PMC|.pdf)//g' *pdf.txt 

Démo :

$ ls *txt
PMC21375.pdf.txt
$ rename -n 's/(PMC|.pdf)//g' *txt 
PMC21375.pdf.txt -> 21375.txt

depuis le shell rapide. C'est très utile, vous pouvez mettre du code perl comme je le fais dans une substitution.

Vous pouvez supprimer le -n (commutateur de mode de marche à vide) lorsque vos tests deviennent valides.

Il existe d'autres outils portant le même nom qui peuvent ou non être capables de le faire, donc soyez prudent.

Si vous exécutez la commande suivante (linux )

$ file $(readlink -f $(type -p rename))

et vous avez un résultat comme

.../rename: Perl script, ASCII text executable

alors cela semble être le bon outil =)

Sinon, pour en faire la valeur par défaut (généralement déjà le cas) sur Debian et dérivé comme Ubuntu :

$ sudo update-alternatives --set rename /path/to/rename

(remplacez /path/to/rename au chemin de votre perl's rename commande.

Enfin, cet outil a été écrit à l'origine par Larry Wall, le père de Perl.


Linux
  1. Comment renommer un répertoire sous Linux

  2. Comment Grep Dans Des Fichiers Pdf ?

  3. Fichiers Cat avec répertoire ?

  4. Rechercher et renommer un répertoire

  5. rsync N fichiers les plus récents dans un répertoire

Comment compter les fichiers dans le répertoire sous Linux

Comment renommer des fichiers en utilisant la ligne de commande sous Linux

Comment renommer un ou plusieurs fichiers sous Linux

Comment convertir par lots des fichiers PDF sous Linux

Comment compter les fichiers dans le répertoire sous Linux

Comment renommer tous les fichiers avec des caractères spéciaux et des espaces dans un répertoire ?