Переименование нескольких файлов путем добавления строки в начало

21

Приблизительно для 200 файлов в каталоге я хотел бы добавить строку 1_в начало всех имен файлов.

Имена файлов, например, DATASET_X_Y_Zи результат должен быть 1_DATASET_X_Y_Z.

Я ничего не знаю о сценариях Shell, но, возможно, есть один вкладыш для терминала.

macydanim
источник
Ссылка @Rinzwind - это другой вопрос. Macydanim вопрос о добавлении строк к именам файлов, а не к содержимому файла.
х

Ответы:

38
  • rename 's/^/1_/' * для переименования всех файлов в текущем каталоге

или

  • rename 's/^/1_/' DATASET*для переименования всех файлов в текущем каталоге, начиная с DATASETих имени

Объяснение: выражение s/^/1_/говорит: «заменить начало имени файла (это означает, что этот символ -> ^)» на 1_«.

Danjou
источник
Если вы renameне делаете этого из коробки, вам необходимо установить prename(переименование PERL).
user1359 15.01.16
14

Вы можете легко переименовать все файлы в текущей директории (если вы используете bash):

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

очевидно, принимайте это с осторожностью; он восстановит ВСЕ файлы в текущем каталоге, которые являются «видимыми» (имя файла не начинается с «.»)

karlacio
источник
Это первое правильное решение, которое я нашел, и которое можно использовать для добавления чего-то вроде .csvподмножества файлов с измененным выражением подстановочного знака вместо *. +1
Зельфир Кальцталь
Вот Это Да! Циклы на CLI! Это новая. :)
Раймонд Вачага
9

Вы можете использовать pyRenamer . Его можно найти в программном центре Ubuntu. введите описание изображения здесь Исходный шаблон файла должен быть {X}, а переименованный шаблон файла должен быть 1_ {1}

nickguletskii
источник
Одна из моих любимых программ
Аллан