Ich habe einen Teil eines Skripts, der nicht wie erwartet funktioniert. Es soll eine Liste von durch neue Zeilen getrennten Episodenpfaden im Format "/ volume1 / Shared Files / Cartoon / Show Name / Show Name SXX / file.mkv" (Anführungszeichen in der Listendatei enthalten) erstellt werden. Führen Sie diese Dateien über mediainfo und aus Hängen Sie die UID an jede Zeile an.
Ich kann die UID mit dem Einzeiler erhalten
/volume1/@appstore/nzbdrone/bin/mediainfo "/volume1/Shared Files/Cartoon/Show Name/Show Name SXX/file.mkv" | grep Unique | awk '{print $4}'
Wenn Sie jedoch den folgenden Code ausführen:
while read line; do
echo $line
/volume1/@appstore/nzbdrone/bin/mediainfo $line | grep Unique | awk '{print $4}' > $WorkingDir/output2.txt
echo `/volume1/@appstore/nzbdrone/bin/mediainfo $line | grep Unique | awk '{print $4}'`
var1=`echo /volume1/@appstore/nzbdrone/bin/mediainfo $line | grep Unique | awk '{print $4}'`
echo $var1
done < $WorkingDir/output.txt
Ich erhalte folgende Ausgabe:
"/volume1/Shared Files/Cartoon/Show Name/Show Name SXX/file.mkv"
"/volume1/Shared Files/Cartoon/Show Name/Show Name SXX/file.mkv"
"/volume1/Shared Files/Cartoon/Show Name/Show Name SXX/file.mkv"
"/volume1/Shared Files/Cartoon/Show Name/Show Name SXX/file.mkv"
"/volume1/Shared Files/Cartoon/Show Name/Show Name SXX/file.mkv"
"/volume1/Shared Files/Cartoon/Show Name/Show Name SXX/file.mkv"
Ich weiß, dass die UIDs nicht an die von mir gewünschte Stelle angehängt werden. Dies ist nur ein Versuch, Fehler zu beheben. Ich würde erwarten, dass mindestens eine dieser beiden Leerzeilen zwischen jeder echo $ -Zeile die UID enthält. Ich weiß nicht, wo es schief geht: /
(Laufen unter Bash auf einer Synology DS412 +)
while line=Linie; do echo $line /volume1/@appstore/nzbdrone/bin/mediainfo "$line" | grep Unique | awk '{print $4}' > $WorkingDir/output2.txt echo/ volume1 / @ appstore / nzbdrone / bin / mediainfo "$ line" | grep Unique | awk '{print $ 4}' `var2 =echo /volume1/@appstore/nzbdrone/bin/mediainfo "$line" | grep Unique | awk '{print $4}'echo $ line echo $ var2 done & lt; $ WorkingDir / output.txt` Aber ich verstehe jetzt/volume1/Tom/Scripts/BaconSonarr/xseednzb-0.1.2.sh: line 25: line: command not found