Leerzeichen im Pfad
Mittwoch, Juli 20th, 2011Wenn man Dateien mit Leerzeichen in eine Variabel einlesen möchte braucht man ls -b und read -r
ls -b > .tmp
while read -r datei; do
echo $datei
done < .tmp
Wenn man Dateien mit Leerzeichen in eine Variabel einlesen möchte braucht man ls -b und read -r
ls -b > .tmp
while read -r datei; do
echo $datei
done < .tmp
Um rekursiv ionice zu vererben haben wir mal eben ein rionice geschrieben.
#!/bin/bash
ionice -c 3 -p $(pstree -p $1 | tr "(" "\n" | cut -d ")" -f 1 | egrep "^[0-9]+\$")
exit 0
Um es aufzurufen muss man die PID des Mutterprozesses rionice übergeben. Dies macht man am besten mit ps -xf
. Dann übergibt man rionice 1234
.
Was mich an meisten an upsatart, abgesehen davon das es schlecht zu Debuggen ist, gestört hat ist die fehlende bash tab completion.
Auf launchpad.net habe ich aber den passenden Burgreport gefunden und den dazugehörigen Patch, den man folgendermaßen verwenden kann:
sudo wget -O /etc/bash_completion.d/upstart https://launchpadlibrarian.net/40624366/upstart
Da ich mit meiner neuen Kamera derzeit viele Fotos mit 18 Mega Pixeln mache, brauchte ich ein Batch Script das viele Bilder gleichzeitig resizen kann. So bin ich auf das Parkte imagemagick gestoßen.
Mein Script erstellt nun einen Ordner namens Web und erstellt in diesem verkleinerte Bilder mit maximal 800px Länge oder Breite.
#!/bin/bash
mkdir web
ls -1 *.JPG *.jpg | while read file;
do {
echo $file
convert $file -resize '800x800>' web/$file
}
done
exit 0
Mehr Infos: wiki.ubuntuusers.de
Hier mal was gegen die Langeweile vor der Shell:
while true; do pwgen -ys $COLUMNS $(($RANDOM % 4 + 1)); sleep 0.2;done