Como usar esta linha de comando no Ubuntu

Como usar esta linha de comando no Ubuntu

Faço minha pergunta em forma de exemplo... Tenho uma pasta contendo diversas subpastas que são as seguintes Pasta principal==)Got, Vikings, etc. Em cada uma há vídeos com seus arquivos srt correspondentes. No ambiente Windows, executar este comando na pasta principal faz com que mkvmerge faça o mix de vídeos inteiros e arquivos srt correspondentes neste diretório.

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

Responder1

O código contém alguns erros mas entendi da seguinte forma: 1

Execute o seguinte em todos *.mkve *.mp4encontre recursivamente:

  1. Execute mkvmergeem cada arquivo e seu arquivo *.srt.
  2. Se tiver êxito (aviso ou saída limpa):
    • Exclua os arquivos de entrada.
    • Renomeie o arquivo criado para <original_name>.mkv.

Isso pode ser feito usando o seguinte script no Ubuntu.
Use-o por sua conta e risco, ainda não testei totalmente!

#!/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

Antes de executar este script, você precisa instalar omkvmergeprograma para Ubuntu:

sudo apt install mkvtoolnix

1 Deixei de fora as mensagens de erro para simplificar. Conforme comentários, eles não parecem ser essenciais para o roteiro.

informação relacionada