Gestern Abend am Linux-Treff haben wir etwas über den Befehl sed diskutiert. Ein recht praktisches Teil. Schon lange wollte ich für das Umbennen von Dateien etwas in dieser Art machen. Gestern war es soweit. Hier die Codezeile:
for i in *.ogg ; do mv „$i“ „`echo $i|sed ’s# – # #g’`“; done
Erklärung: hier werden alle .ogg-Dateien umbenant. Und zwar werden die Zeichen “ – “ (also Leerzeichen, Bindestrich, Leerzeichen) durch ein Leerzeichen (“ „) ersetzt. Die Trennzeichen (hier #) sind übrigens frei wählbar. Wenn wir beim Suchen/Ersetzen # einsetzen würden, könnten wir auch ein anderes Zeichen verwenden. sed ist noch viel mächtiger. Anstatt dieser Folge kann beispielsweise auch eine eine Datei mit der Endung .sed als Parameter verwendet werden. Dort drin können alle gewünschten Operationen aufgelistet werden. sed kann nicht nur ein einfaches Search&Replace (substitute) machen. Ich muss mich mal genauer einlesen [1] [2] Bis jetzt habe ich es immer mit der Stringverarbeitung versucht, was jedoch mit Leerzeichen nie wirklich gelungen ist. Die Zeile
#for i in *.ogg ; do mv „$i“ „${i/se/rep}“ ; done
hat für „normale“ Zeichen funktioniert. In Zukunft heisst die Lösung für solche Aufgaben sed.
Ein weiteres Thema war streamtuner [3]. Damit ist es möglich, Streams von Shoutcast und einigen weiteren Diensten zu verwenden. Ausserdem ist es möglich, die Songs gleich als MP3 gerippt auf die Festplatte zu holen. Für die Verwendung muss der Multimediaplayer xmms installiert werden. Für das Recording ist ausserdem das Programm streamripper erforderlich. Ansonsten wird man beim Aufnehmen mit einer hässlichen Fehlermeldung konfrontiert („There was an error creating the child process for this terminal“). Die Lösung dazu hab ich übrigens unter [4] gefunden. Mit den x tausend Stationen findet sicher jeder etwas Passendes für die Ohren 😉
Kurz haben wir noch über PHP/MySQL diskutiert. Einige in unserer LUG wolen sich neu damit befassen und haben schon kleine Test-Scrips erstellt. Dabei habe ich zufällig vom MySQL-Befehl „LOAD DATA INSIDE“ erfahren [5]. Wer weiss, wann man das mal brauchen kann…
[1] http://www.linux-ag.de/linux/LHB/node100.html
[2] http://www.linux-fuer-alle.de/doc_show.php?docid=181&catid=8
[3] http://www.nongnu.org/streamtuner/
[4] http://ubuntuforums.org/showthread.php?p=2821697
[5] http://dev.mysql.com/doc/refman/5.0/en/load-data.html