Как использовать эту командную строку в Ubuntu

Я задаю свой вопрос в виде примера ... У меня есть папка, содержащая несколько подпапок, которые выглядят следующим образом: Основная папка ==) Есть, викинги и т. Д. В каждой есть видео с соответствующими файлами SRT. В среде Windows, запустив эту команду в основной папке, заставьте mkvmerge мультиплексировать целые видео и соответствующие файлы srt в этом каталоге.

For /R %%A IN (*.mkv *.mp4) Do (
    "C:/Program Files/MKVToolNix\mkvmerge.exe" -o "%%~dpnxAtemp" "%%~fA" "%%~dpnA.srt" && if errorlevel 2 (
        echo errors generated during remuxing, original file not deleted
    ) else if errorlevel 1 (
        del /f "%%~fA" "%%~dpnA.srt" echo Warnings generated during remuxing to "%%~A", original file deleted
    ) else (
        del /f "%%~fA" "%%~dpnA.srt" echo Successfully remuxed to "%%~A", original file deleted
    ) && for /R %%A IN (*.mkvtemp *.mp4temp) do ren "%%~fA" "%**.mkv"
)
Pause
0
задан 18 June 2019 в 12:09

1 ответ

Код содержит некоторые ошибки, но я понимаю его следующим образом: 1

Выполните следующее для всех найденных *.mkv и *.mp4 рекурсивно:

  1. Запустите mkvmerge для каждого файла и соответствующего ему *.srt.
  2. Если это удалось (предупреждение или чистый выход):
    • Удалить входные файлы.
    • Переименуйте созданный файл в <original_name>.mkv.

Это можно сделать с помощью следующего скрипта на Ubuntu.
Используйте его на свой страх и риск, я не полностью его протестировал!

#!/bin/bash
find . -name \*.mp4 -o -name \*.mkv | while read orig_filename
do
   filename="${orig_filename::-4}"  # crop the extension
   mkvmerge -o "$orig_filename.tmp" "$orig_filename" "$filename.srt"
   if [ $? -le 1 ]  # warning or clean exit
   then
       rm "$orig_filename" "$filename.srt"
       mv "$orig_filename.tmp" "$filename.mkv"
   fi
done

Перед запуском этого скрипта необходимо установить программу mkvmerge для Ubuntu:

sudo apt install mkvtoolnix

1 Я упустил сообщения об ошибках для простоты. Согласно комментариям, они не кажутся важными для сценария.

0
ответ дан 18 June 2019 в 12:09

Другие вопросы по тегам:

Похожие вопросы: