web-dev-qa-db-fra.com

Renommer plusieurs fichiers en ajoutant une chaîne au début

Pour environ 200 fichiers dans un répertoire, j'aimerais ajouter la chaîne 1_ au début de tous les noms de fichiers.

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

Je ne connais rien aux scripts Shell, mais peut-être existe-t-il une ligne unique pour le terminal.

20
macydanim
  • rename 's/^/1_/' * pour renommer tous les fichiers du répertoire en cours

ou

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

Explication: l'expression s/^/1_/ dit: "remplace le début du nom du fichier (cela signifie que ce symbole -> ^) 'par 1_".

37
dAnjou

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

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

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

14
karlacio

Vous pouvez utiliser pyRenamer . Vous pouvez le trouver dans le centre logiciel Ubuntu. enter image description here Le modèle de fichier d'origine doit être {X} et le modèle de fichier renommé doit être 1_ {1}.

9
nickguletskii