Назад | Перейти на главную страницу

Переименовать тонны файлов

Как я могу переименовать все файлы с таким шаблоном:

thumb_f318d8a580ca5717d686a323b6c2ca0d.jpg0000777
thumb_f18d8aup90ca5717d686a323b6c2c5uh.jpg0000777
thumb_jessr8d8a580ca5717d68623etrtckks.jpg0000777
thumb_4hghd8a580ca5717d686a323b6c2ghjj.jpg0000777
....

к

thumb_f318d8a580ca5717d686a323b6c2ca0d.jpg
thumb_f18d8aup90ca5717d686a323b6c2c5uh.jpg
thumb_jer8d8a580ca5717d686a323etrtckks.jpg
thumb_4hghd8a580ca5717d686a323b6c2ghjj.jpg
....

Используйте переменные bash и цикл for:
for i in *;do mv $i ${i%0000777};done

когда вы окружаете имя переменной {} и добавляете знак%, он возвращает значение переменной со всем, что находится после удаления%.

Если вы используете знак #, он удалится из начала строки. так
for i in *;do mv $i ${i#thumb_};done
Снимет большой палец спереди.

Использовать переименовать сценарий. Предполагая, что все они заканчиваются на «0000777»:

rename -nv 's,0000777$,,' *

Если результат соответствует вашему желанию, удалите -n параметр, чтобы он фактически переименовал их.

Вы не упоминаете ОС, но, используя ваши теги, я предполагаю, что * nix.

Однако, если вы используете обычную подсказку CMD Windows:

ren *.jpg0000777 *.jpg

или PowerShell:

Get-ChildItem *.jpg0000777 | Rename-Item -NewName {  $_.Name -replace ".jpg0000777",".jpg"  }