Как переименовать определенный префикс в нескольких файлах?

У меня есть папка, которая содержит более чем 500 + файлы с определенным префиксом. Те файлы распространены в нескольких папках в одном каталоге. Моя цель состоит в том, чтобы переименовать тот префикс в тех нескольких файлах.

Имена файла примера и пути:

  • MyFiles/my-old-FileOfAlice.txt
  • MyFiles/Folder 1/my-old-FileOfTom.odt
  • MyFiles/Folder 2/my-old-FileOfJane.doc

Цель состоит в том, чтобы переименовать их к:

  • MyFiles/my-new-FileOfAlice.txt
  • MyFiles/Folder 1/my-new-FileOfTom.odt
  • MyFiles/Folder 2/my-new-FileOfJane.doc

Примечания:

  • Файлы не имеют того же расширения.
  • Файлы распространены в нескольких папках в соответствии с тем же каталогом. Я использую Kubuntu 16.10. Любая Ubuntu ориентировалась, ответ будет приниматься и цениться.

Любая командная строка, программа, руководство, учебное руководство или ссылка значительно ценились бы.Заранее спасибо!

3
задан 2 February 2017 в 11:14

1 ответ

Вы можете использовать следующую команду:

find -name "*-old-*" -exec rename 's/-old-/-new-/' {} \;

Поиск файлов, содержащих -old-, рекурсивно начинающихся в вашем текущем каталоге, и переименовывает их, заменяя -old- на -new-.

Примечание: замены old может быть достаточно, но я включил - на случай, если в названии есть второй old (например, my- old -F old ers.doc).

7
ответ дан 1 December 2019 в 13:23

Другие вопросы по тегам:

Похожие вопросы: