Як я можу отримати пакетне перейменування набору імен файлів у Linux?


9

У мене папка із зображеннями:

pic001-2.png
pic002-2.png
pic003-2.png 

Як перейменувати їх у наступне?

pic001.png
pic002.png
pic003.png 

Я намагався, mv "pic*-2.png" "pic*.png"але продовжую отримувати помилки.

Відповіді:


11

Це видалить перше -2знайдене у кожному імені файлу:

for f in pic*-2.png; do
  mv "$f" "${f/-2/}"
done

Щоб перевірити це, просто додайте echoдо mvрядка.


9

Вам потрібна відповідна назва "перейменувати" команду!

Спробуйте щось подібне:

rename 's/(pic\d+)-\d\.jpg/$1.jpg/' pic*.jpg

У якості першого аргументу він приймає регулярний вираз perl, тому ваші параметри відповідності шаблону та маніпуляції досить великі. Для отримання детальної інформації див. Сторінку перейменування (1).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.