Shell Skript schreiben
felix
- linux
- programmiertechnik
- software
0 Jörg Reinholz0 felix
Hallo, ich habe ein Problem:
ich habe auf einer Linuxkiste ein Verzeichnisbaum mit mehreren mpg Videos in verschiedenen Unterordnern. In den Ordnern liegen auch noch andere Dateien.
Ich wollte mir jetzt ein Script schreiben, dass folgendes macht:
Da ich aber nicht so firm bin im Script schreiben, hat jemand eine Idee, wie ich das anstellen kann?
Danke schon einmal im Voraus.
Moin!
Ich wollte mir jetzt ein Script schreiben, dass folgendes macht:
- Alle Verzeichnisse auf MPG Videos durchsuchen. (unterhalb eines Startverzeichnisses)
~> find $STARTVERZEICHNIS -name "*.mpg" -exec DEIN_SKRIPT.bash {} \; # Achte auf die Leerzeichen!
- Jedes Video mittels ffmpeg -i File.mpg -r 22 File_c.mpg umwandelt und umbenennt
Ab damit nach DEIN_SKRIPT.bash
#!/bin/bash
## file: DEIN_SKRIPT.bash
oldFile=$1;
newFile=`echo "$oldFile" | sed "s/\.mpg$/_c.mpg/"`; # Auf die Backticks aufpassen!
ffmpeg -i "$oldFile" -r 22 "$newFile" 2>> /tmp/ffmpeg.log;
# if [ $? eq 0 ]; then
# rm -f "$oldFile";
# else
# echo "Beim Umwandeln von $oldFile trat ein Fehler auf. Gespeichert in /tmp/ffmpeg.log
# echo " (Datei war $oldFile)\n" >>/tmp/ffmpeg.log
#fi
- das Originalvideo löschen, wenn das _c Video erstellt wurde.
Oh Nein! Ich habe das im Skript auskommentiert weil ich das niemals machen würde, bevor ich genau weiß, dass das Video auch umgewandelt wurde. (auch wenn ffmpeg den Status 0 zurückgab ist für mich erst mal nicht so sicher, dass das Video auch angesehen werden kann.)
Da ich aber nicht so firm bin im Script schreiben, hat jemand eine Idee, wie ich das anstellen kann?
Obiges ist nur eine Idee. Es wird andere Änsätze geben und ich konnte das nicht testen.
Jörg Reinholz
Hallo,
herzlichen dank; ich werde es nachher mal testen;
bin gerade unterwegs
LG
Moin!
Ich wollte mir jetzt ein Script schreiben, dass folgendes macht:
- Alle Verzeichnisse auf MPG Videos durchsuchen. (unterhalb eines Startverzeichnisses)
~> find $STARTVERZEICHNIS -name "*.mpg" -exec DEIN_SKRIPT.bash {} \; # Achte auf die Leerzeichen!
- Jedes Video mittels ffmpeg -i File.mpg -r 22 File_c.mpg umwandelt und umbenennt
Ab damit nach DEIN_SKRIPT.bash
#!/bin/bash ## file: DEIN_SKRIPT.bash oldFile=$1; newFile=`echo "$oldFile" | sed "s/\.mpg$/_c.mpg/"`; # Auf die Backticks aufpassen! ffmpeg -i "$oldFile" -r 22 "$newFile" 2>> /tmp/ffmpeg.log; # if [ $? eq 0 ]; then # rm -f "$oldFile"; # else # echo "Beim Umwandeln von $oldFile trat ein Fehler auf. Gespeichert in /tmp/ffmpeg.log # echo " (Datei war $oldFile)\n" >>/tmp/ffmpeg.log #fi
- das Originalvideo löschen, wenn das _c Video erstellt wurde.
Oh Nein! Ich habe das im Skript auskommentiert weil ich das niemals machen würde, bevor ich genau weiß, dass das Video auch umgewandelt wurde. (auch wenn ffmpeg den Status 0 zurückgab ist für mich erst mal nicht so sicher, dass das Video auch angesehen werden kann.)
Da ich aber nicht so firm bin im Script schreiben, hat jemand eine Idee, wie ich das anstellen kann?
Obiges ist nur eine Idee. Es wird andere Änsätze geben und ich konnte das nicht testen.
Jörg Reinholz
Moin!
Hallo,
herzlichen dank; ich werde es nachher mal testen;
bin gerade unterwegs
Fein. Da kann noch zwei Zeichen nachreichen:
#!/bin/bash
## file: DEIN_SKRIPT.bash
oldFile=$1;
newFile=`echo "$oldFile" | sed "s/\.mpg$/_c.mpg/"`; # Auf die Backticks aufpassen!
ffmpeg -i "$oldFile" -r 22 "$newFile" 2>> /tmp/ffmpeg.log;
# if [ $? -eq 0 ]; then
# rm -f "$oldFile";
# else
# echo "Beim Umwandeln von $oldFile trat ein Fehler auf. Gespeichert in /tmp/ffmpeg.log";
# echo " (Datei war $oldFile)\n" >> /tmp/ffmpeg.log
# fi
Jörg Reinholz