31

For about 200 files in a directory I would like to add the String 1_ to the beginning of all filenames.

The filenames are, for example, DATASET_X_Y_Z and the result should be 1_DATASET_X_Y_Z.

I don't know a thing about Shell scripting, but maybe there is a one liner for the terminal.

Zanna
  • 72,312
macydanim
  • 313

3 Answers3

53
  • rename 's/^/1_/' * for renaming all files in the current directory

or

  • rename 's/^/1_/' DATASET* for renaming all files in the current directory starting with DATASET in their name

Explanation: the expression s/^/1_/ says: "replace the beginning of the filename (that means this symbol -> ^)' with 1_".

dAnjou
  • 2,055
27

You can easily rename all the files in current directory typing (assuming you are using bash):

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

obviously take it with care; it will remane ALL the files in the current directory that are 'visible' (filename not starting with a '.')

Zanna
  • 72,312
karlacio
  • 1,282
10

You can use pyRenamer. It can be found in the Ubuntu software center. enter image description here The original file pattern should be {X} and the renamed file pattern should be 1_{1}

Egil
  • 14,522