Script para convertir .wma a .mp3 comando no encontrado

Script para convertir .wma a .mp3 comando no encontrado

Estoy usando un script llamado conv-scriptque encontré en AskUbuntu.aquí. Se parece a esto

#!/bin/sh

readarray -t files < wma-files.txt

for file in "${files[@]}"; do
    out=${file%.wma}.mp3
    probe=`avprobe -show_streams "$file" 2>/dev/null`
    rate=`echo "$probe" | grep "^bit_rate" | sed "s:.*=\(.*\)[0-9][0-9][0-9][.].*:\1:" | head -1`
    ffmpeg -i "$file" -ab "$rate"k "$out" && rm "$file"
done

Lo he ejecutado sudo chmod +x ./conv-script y luego intento ejecutarlo consudo ./conv-script

Después de hacerlo me sale un errorsudo: ./conv-script: command not found

No estoy seguro de qué estoy haciendo mal, ya que puedo ver el archivo en el directorio de trabajo actual y lo configuré para que sea ejecutable. Una cosa que pensé que podría ser es que la primera línea de mi secuencia de comandos es incorrecta, pero tengo otra secuencia de comandos con el mismo asunto y se ejecuta bien. Cuando uso el shebang en el original #!/usr/bin/env bashobtengo lo mismo. Gracias por la ayuda

EDITAR:

salida defile conv-script

conv-script: a /usr/bin/env bash script, ASCII text executable

salida destat conv-script

  File: ‘conv-script’
  Size: 325             Blocks: 64         IO Block: 32768  regular file
Device: 821h/2081d      Inode: 82004       Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/ kalenpw)   Gid: ( 1000/ kalenpw)
Access: 2016-05-17 16:40:43.000000000 -0600
Modify: 2016-05-17 14:33:31.000000000 -0600
Change: 2016-05-17 14:33:32.000000000 -0600
 Birth: -

Respuesta1

Como primero asegúrate de tenerlo ffmpeginstalado libav-tools, esto lo puedes hacer escribiendo en la terminal ( ctrl+ alt+ t):

apt-cache policy ffmpeg libav-tools

Esto debería generar un resultado como el siguiente si ambos están instalados:

ffmpeg:
  Installed: 7:2.8.6-1ubuntu2
  Candidate: 7:2.8.6-1ubuntu2
  Version table:
 *** 7:2.8.6-1ubuntu2 500
        500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
        100 /var/lib/dpkg/status
libav-tools:
  Installed: 7:2.8.6-1ubuntu2
  Candidate: 7:2.8.6-1ubuntu2
  Version table:
 *** 7:2.8.6-1ubuntu2 500
        500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
        500 http://archive.ubuntu.com/ubuntu xenial/universe i386 Packages
        100 /var/lib/dpkg/status

Si ingresa en una de las líneas que comienzan con Installed:una entrada, (none)instale el paquete con sudo apt-get install <package-name>.

Ahora sólo algunas correcciones al guión en sí:

#!/bin/bash

cd "$1"
find . -type f | grep wma$ > wma-files.txt

readarray -t files < wma-files.txt

for file in "${files[@]}"; do
    out=${file%.wma}.mp3
    probe="$(avprobe -show_streams "$file" 2>/dev/null)"
    rate="$(echo "$probe" | grep "^bit_rate" | sed "s:.*=\(.*\)[0-9][0-9][0-9][.].*:\1:" | head -1)"
    ffmpeg -i "$file" -ab "$rate"k "$out" && rm "$file"
done

Puedes llamar a esto entonces con ./script.sh /path-to-your-music.

información relacionada