Как переименовать все файлы субтитров с тем же именем, что и файлы mp4 в одной и той же папке

paste -d: <(ls -1 *.mp4) <(ls -1 *.srt) | while read line; do movie="${line%%:*}"; subtitle="${line##*:}"; mv "${subtitle}" "${movie%.*}.srt"; done


Команда paste объединяет два списка файлов (с расширением .mp4 и .srt) в один список, разделяя их двоеточием. Затем команда while read line читает каждую строку из списка и разделяет ее на две переменные: movie (имя файла mp4) и subtitle (имя файла субтитров). Далее команда mv переименовывает файл субтитров, заменяя его расширение на .srt и используя имя файла mp4. Таким образом, все файлы субтитров будут переименованы с тем же именем, что и файлы mp4 в одной и той же папке.

Альтернативой может быть использование цикла for для перебора файлов в папке и проверки их расширений, а затем использование команды mv для переименования файлов субтитров.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *