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


21

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

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

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



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

Ответы:


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

или

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

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


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

14

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

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

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


Это первое правильное решение, которое я нашел, и которое можно использовать для добавления чего-то вроде .csvподмножества файлов с измененным выражением подстановочного знака вместо *. +1
Зельфир Кальцталь

Вот Это Да! Циклы на CLI! Это новая. :)
Раймонд Вачага

9

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


Одна из моих любимых программ
Аллан
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.