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 BilderDies 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 BilderAlle *.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.mngbetrachten 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