Vmelnikoff
@Vmelnikoff
PHP разработчик

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

Нужно рекурсивно переименовать файлы по маске *-en.srt -> *.srt (в имени допустимы пробелы)

С одним файлом легко, если задаю имя:
mv "first subtitle-en.srt" "first subtitle.srt"

Со всеми сразу не могу понять. Думаю что-то с циклом надо писать, но знаний в bash не хватает.
  • Вопрос задан
  • 1891 просмотр
Решения вопроса 2
rename "-en.srt" ".srt" *-en.srt
Ответ написан
Комментировать
fzfx
@fzfx
18,5 дм
например
find /path/to/dir -maxdepth 1 -type f -name "*-en.srt" | while read name; do mv ${name} $(echo ${name} | sed -r 's/...(....)$/\1/'); done
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
sotvm
@sotvm
Умный поймёт, а дураку и так всё равно.
rename 's/-en.srt$/\.srt/' *-en.srt
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы