Dann sollen in einem anderen Verzeichnis diese umgewandelten Dateien landen, wiederum in einem Verzeichnis dass den selben Namen hat wie das Verzeichnis aus denen die input-Dateien stammen.
Mein script heißt ConvertAndCopy.user:
Code: Alles auswählen
#!/bin/sh
for f in "$1"*"$2"; do ffmpeg -n -loglevel error -loglevel warning -i "$f" -acodec "$3" "${f%.flv}."$4""; done &&
cd "$5" && # change to another path
mkdir -p "$1" && # create directory with parents and the same name in that path
cp "$1"*"$4" "$5" && # copy the converted files into the new directory
rename 's/"$2"//g' *."$4" && #remove the old file ending
echo "" &&
pwd && # checking correct converting and copying
ls -1
# Explanation:
# "$1" input path
# "$2" input .FILEENDING
# "$3" audiocodec
# "$4" output .FILEENDING
# "$5" target directory where to create copies of the original directories and move the output files to
Code: Alles auswählen
ls -R1
.:
1
2
./1:
TEST.flac
./2:
Code: Alles auswählen
ConvertAndCopy.user 1/ .flac libmp3lame mp3 2/
cp: cannot stat '1/*mp3': No such file or directory
Code: Alles auswählen
ls -R1
.:
1
2
./1:
TEST.flac
TEST.flac.mp3
./2:
1
./2/1:
rename gibt wenn ich es mit Variablen in scripts nutze folgendes aus:
Code: Alles auswählen
Use of uninitialized value VARIABLE in regexp compilation at (eval 5) line ZEILE.