Skript zum Konvertieren von .wma in .mp3-Befehl nicht gefunden

Skript zum Konvertieren von .wma in .mp3-Befehl nicht gefunden

Ich verwende ein Skript namens conv-script, das ich auf AskUbuntu gefunden habeHier. Es sieht aus wie das

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

Ich bin gerannt sudo chmod +x ./conv-script und dann versuche ich, es auszuführen mitsudo ./conv-script

Danach erhalte ich eine Fehlermeldungsudo: ./conv-script: command not found

Ich bin mir nicht sicher, was ich falsch mache, da ich die Datei im aktuellen Arbeitsverzeichnis sehe und sie als ausführbare Datei festgelegt habe. Ich dachte, es könnte daran liegen, dass die erste Zeile meines Skripts falsch ist, aber ich habe ein anderes Skript mit demselben Shebang und es wird einwandfrei ausgeführt. Wenn ich den Shebang im Original verwende, #!/usr/bin/env bashbekomme ich dasselbe. Danke für die Hilfe

BEARBEITEN:

Ausgabe vonfile conv-script

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

Ausgabe vonstat 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: -

Antwort1

Stellen Sie zunächst sicher, dass Sie Folgendes haben ffmpegund libav-toolsinstalliert haben. Dies können Sie tun, indem Sie in das Terminal ( ctrl+ alt+ t) eingeben:

apt-cache policy ffmpeg libav-tools

Wenn beide installiert sind, sollte die Ausgabe etwa wie folgt aussehen:

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

Wenn Sie in eine der Zeilen gelangen, die mit Installed:einem Eintrag beginnen (none), installieren Sie das Paket mit sudo apt-get install <package-name>.

Nun noch ein paar Korrekturen zum Skript selbst:

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

Dieses kannst Du dann mit aufrufen ./script.sh /path-to-your-music.

verwandte Informationen