Cómo usar esta línea de comando en Ubuntu

Cómo usar esta línea de comando en Ubuntu

Hago mi pregunta en forma de ejemplo… Tengo una carpeta que contiene varias subcarpetas que son las siguientes Carpeta principal==)Got, Vikings, etc. En cada una hay videos con sus correspondientes archivos srt. En el entorno de Windows, ejecutar este comando en la carpeta principal hace que mkvmerge mezcle videos completos y los archivos srt correspondientes en este directorio.

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

Respuesta1

El código contiene algunos errores pero lo entiendo de la siguiente manera: 1

Ejecute lo siguiente en todos *.mkvy *.mp4lo encontrará de forma recursiva:

  1. Ejecutar mkvmergesobre cada archivo y su correspondiente *.srt.
  2. Si tuvo éxito (advertencia o salida limpia):
    • Elimine los archivos de entrada.
    • Cambie el nombre del archivo creado a <original_name>.mkv.

Esto se podría hacer usando el siguiente script en Ubuntu.
Úselo bajo su propio riesgo, ¡no lo he probado completamente!

#!/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 ejecutar este script, necesita instalar elmkvmergeprograma para ubuntu:

sudo apt install mkvtoolnix

1 He omitido los mensajes de error por simplicidad. Según los comentarios, no parecen esenciales para el guión.

información relacionada