TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #452 1.03K
Массовое переименование файлов по шаблону

▪️ Вариант 1: rename. Если нужно заменить часть имени:


# Заменить "old" на "new" во всех именах
rename 's/old/new/' *.txt


Удалить префикс:


rename 's/^prefix_//' *.log


Добавить суффикс перед расширением:


rename 's/\.jpg$/_edited.jpg/' *.jpg


▪️ Вариант 2: sed + цикл. Когда шаблон сложный или нужно сгенерировать новое имя:


for f in *.mp4; do
new=$(echo "$f" | sed 's/episode_/ep-/; s/_final//')
mv "$f" "$new"
done


Можно применять любую логику, хоть разбивать строку на части.

▪️ Вариант 3: Bash expansion. Если у файлов есть общий номер или маска:


# Добавить нумерацию
n=1
for f in *.png; do
mv "$f" "img_$(printf "%03d" $n).png"
((n++))
done


Переименование 01 в 001:


for f in *.txt; do
mv "$f" "$(printf "%03d".txt "${f%.txt}")"
done


⚠️ Совет: Перед mv всегда смотрите, что получится:


for f in *.txt; do
echo mv "$f" "new-$f"
done


Если вывод выглядит правильно, то можно убирать echo.

BashTex 📱 #bash
  • 👍 9
More from @bash_tex
  1. Oct 8, 2026Bridge FDB - как Linux bridge узнаёт, где находится MAC Linux bridge не знает заранее, за…
  2. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  3. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  4. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
  5. Oct 2, 2026madvise() - как процесс подсказывает ядру, как он собирается использовать память Когда про…
  6. Oct 1, 2026flock vs fcntl - почему две блокировки одного файла могут вести себя совершенно по-разному…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →