Remplacement de chaîne dans les noms de fichiers sous Linux


1

J'ai une tonne de fichiers appelés File30_i.txtpour i=1, 2, 3, 4, 5... Y at - il un moyen facile de renommer rapidement alors File20_i.txtpar exemple?

Réponses:


3

Il existe un outil pour cela appelé rename:

rename 's/File30/File20/' *.txt

Pour un aperçu avec -n:

rename -n 's/File30/File20/' *.txt

0

Ma méthode préférée serait d’utiliser sed pour générer un script, par exemple:

ls -1|sed 's/File30_\([^.]*\).txt/mv & File20_\1.txt/'|bash

Cela devrait renommer selon les noms de fichiers que vous avez donnés dans la question. Pour prévisualiser les commandes, vous pouvez faire:

ls -1|sed 's/File30_\([^.]*\).txt/mv & File20_\1.txt/'

0

Renamer fonctionne sous Windows, Mac et Linux:

$ renamer --find Find30 --replace Find20 *.txt
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.