27 votes

Renommer plusieurs fichiers en ajoutant une chaîne au début de ceux-ci

Pour environ 200 fichiers dans un répertoire, je voudrais ajouter le String 1_ au début de tous les noms de fichiers.

Les noms de fichiers sont, par exemple, les suivants, DATASET_X_Y_Z et le résultat devrait être 1_DATASET_X_Y_Z .

Je ne connais rien aux scripts Shell, mais peut-être existe-t-il un one liner pour le terminal.

50voto

Chris Points 403
  • rename 's/^/1_/' * pour renommer tous les fichiers du répertoire courant

ou

  • rename 's/^/1_/' DATASET* pour renommer tous les fichiers dans le répertoire courant commençant par DATASET en leur nom

Explication : l'expression s/^/1_/ dit : "remplacer le début du nom de fichier (c'est à dire ce symbole -> . ^ )" avec 1_ ".

26voto

karlacio Points 1202

Vous pouvez facilement renommer tous les fichiers du répertoire actuel en tapant (en supposant que vous utilisez bash) :

for i in *; do mv "$i" 1_"$i"; done

prenez-le évidemment avec précaution ; il supprimera TOUS les fichiers du répertoire courant qui sont 'visibles' (nom de fichier ne commençant pas par un '.').

10voto

vassie Points 406

Vous pouvez utiliser pyRenamer . Il peut être trouvé dans le centre de logiciels Ubuntu. enter image description here Le motif du fichier original doit être {X} et le motif du fichier renommé doit être 1_{1}.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X