| FOTO | AUTO | EDV | AUDIO |

Hilfreiche Shellbefehle

~~QNA~~ =?

Suchen, finden und ersetzen/löschen

???Inhalte in Dateien suchen und Dateinamen mit Pfad anzeigen lassen !!!Sucht ab /home/foo nach dem Inhalt bar in jeder *.txt Datei

find  /home/foo -type f -name *.txt | xargs grep bar

???Datei- und Ordnergröße ermitteln !!!Ordnergröße ermitteln

 du -cksh * |sort -g 

Ordner nach Größe sortiert ausgeben

du -k -x / | sort -k 1n               # Gibt Ordner von Klein nach Groß aus
du -k -x / | sort -k 1n | tail -20    # Zeigt die 20 größten Ordner

???Inhalte in allen Dateien suchen und ersetzen !!!Im Ordner und allen Unterordnern nach \\creutz.spdns.de
suchen und durch \\creutz.noip.me
ersetzen

find . -type f -exec perl -pi -e '~s/(?<![\w_\-@#.])creutz.spdns.de/creutz.noip.me/g' {} \;

???Inhalte in allen Dateien suchen und löschen !!!Im Ordner und allen Unterordnern nach *.jpg suchen und löschen

find $DIR -name '*.345' -delete

=?

Berechtigungen

???Berechtigung NUR an Ordnern ändern

find . -type d -exec chmod 755 {} \;

???Dasselbe funktioniert natürlich auch mit Dateien

find . -type f -exec chmod 644 {} \;

=?

Bildbearbeitung

???Bilder umbenennen

rename 's/small/winzig/' *.jpg    # sucht alle .jpg Dateien und tauscht small gegen winzig.
rename 's/\[KOPIE\]/aaa/' *.jpg   # tauscht alle Sonderasurücke [KOPIE] zu aaa.
rename 'y/A-Z/a-z/' *             # alle Zeichen sind danach klein
rename 's/ü/ue/' *                # tauscht Ü zu ue

???Welches Format haben die Fotos

$ identify *.jpg

???Bilder konvertieren

convert bild1.jpg bild2.png                                 # ein Bild
for i in *.jpg; do convert $i `basename $i .jpg`.png; done  # alle Bilder

???Bilder drehen

convert -rotate 90 bild2.jpg bild2.jpg                                   # ein Bild
for i in *.jpg; do convert -rotate 90  $i `basename $i .jpg`.jpg; done   # alle Bilder

???Bilder beschriften

convert -font /usr/share/fonts/truetype/Comic_Sans_MS.ttf -pointsize 50 -fill grey -draw "text 300,500 'Hier den Text eingeben'" bild1.jpg bild1_beschr.jpg

  • font: Als Argument übergeben Sie diesem Parameter die gewünschte Schriftart, z. B. -font arial oder -font helvetica. Alternativ geben Sie eine .ttf-Datei (TrueType-Schriftart) an, z. B. -font /usr/share/fonts/truetype/Comic_Sans_MS.ttf.
  • pointsize: Über diesen Parameter definieren Sie die Schriftgröße in Punkt, z. B. -pointsize 40 – in der Regel ist hier ein wenig Experimentieren nötig, bis die Werte passen und das Ergebnis gut aussieht.
  • fill: Hier geben Sie die Farbe der Schrift an, z. B. -fill red (für auffälliges Rot) oder -fill grey (für ein helles Grau).
  • draw: Diese Option hilft beim Texten: Geben Sie als Argumente die Position in Pixeln und die Beschriftung an. Für die Positionierung rechnen Sie in Pixeln von der linken oberen Ecke ausgehend (0,0) nach rechts und unten. Alles zusammen wird in Hochkommas eingeschlossen, enthält der Text Leer- oder Sonderzeichen, wird dieser ebenfalls in Hochkommas geschachtelt, also z. B. -draw „text 300,500 'Hier den Text eingeben'“

???Rahmen um das Bild

convert -mattecolor blue -frame 6x6 bild.jpg bild_rahmen.jpg                                   # ein Bild
for i in *.jpg; do convert -mattecolor blue -frame 6x6 $i `basename $i .jpg`_rahmen.jpg; done  # alle Bilder
Dies zeichnet um das Bild einen blauen Rahmen von 6 Pixel Breite und speichert es als *_rahmen.jpg. Das Bild vergrößert sich dadurch um 12 Pixel

???Bilder verkleinern

  • mit festen Werten (Seitenverhältnis kann sich ändern)

convert -resize 1024x768 bild1.jpg bild1_s.jpg                                     # ein Bild
for i in *.jpg; do convert -resize 1024x768 $i `basename $i .jpg`_klein.jpg; done  # alle Bilder

  • prozentual (Seitenverhältnis bleibt gleich)

convert -resize 20% bild.jpg bild_klein.jpg                                   # ein Bild
for i in *.jpg; do convert -resize 20% $i `basename $i .jpg`_klein.jpg; done  # alle Bilder
Alle *.jpg Bilder werden um 20% verkleinert und als *_klein.jpg gespeichert

  • oder als Script

#!/bin/sh
#
#
# hier liegen die bilder
mydir="/home/lucky/PICTURES/2005/Friends"
# dahin wechseln
cd $mydir
 
if [ ! -e newpic ];then
    # neues verzeichnis
    mkdir newpic
fi
# verzeichnis auslesen
for file in $(ls *.jpg)
do
    # hier kommt deine convert-function: bitte in man nachlesen
    convert -size 480x360 $file newpic/$file
done
exit 0

????? Slideshow erstellen ?????

convert -delay 10 *.jpg film.mng
betrachten kann man den Film mit
animate film.mng

=?

Videos mit transcode bearbeiten

??? Videos entwacklen !!!Mit dem ersten Befehl werden die “Wackeldaten” ausgelesen, mit dem zweiten wird das Video schließlich entwackelt.

transcode -J stabilize -i original.mov -y null,null -o dummy
transcode -J transform -i original.mov -y xvid -o entwackelt.avi