Gostaria de criar um pequeno shell script que me diga a duração de um vídeo cujo nome de arquivo é passado a ele como parâmetro. Seria algo assim:
$ script_name "file name with spaces.webm" # or any other media file extension
O arquivo de script seria semelhante
#/bin/bash
SECRET_SAUCE_USING_$1 | mediainfo | grep Duration | sort -u
# maybe SECRET_SAUCE_USING_$1 | xargs -0 mediainfo . . .
Na linha de comando, isso é o que funciona e o que eu quero que o script faça:
$ mediainfo file\ name\ with\ spaces.webm | grep Duration | sort -u
Eu tentei usar coisas como
echo "$1" | sed 's/ /\\ /g' # piped to mediainfo . . .
para alterar os espaços no nome do arquivo para pares de caracteres '\ ' (sem as aspas). O eco... | sed ... parte funciona, mas mediainfo vomita
e
echo "$1" | tr ' ' '\000' | xargs -0 mediainfo . . .
para alterar os espaços para nulos e obter xargs para invocar mediainfo com nulos no nome do arquivo em vez de espaços.
Não encontrei uma solução até agora. (Na verdade, eu uso zsh, não bash.) Toda a ajuda é muito apreciada. Tnx.