diff aus 2x STDOUT
Mittwoch, den 11. Januar 2012Man kann bei diff normalerweise nur einen der beiden Datei-Parameter durch ein “-” ersetzen, um diese Daten vom Standard-Input zu lesen. Was aber, wenn man die Ausgaben von zwei Programmen vergleichen und man diese nicht in Dateien zwischenspeichern will? Bei commandlinefu.com fand ich die Lösung: diff <( cmd1 ) <( cmd2 ) Man kann also [...]
Skip der ersten Zeile wenn leer
Mittwoch, den 21. Dezember 2011Heute hatte ich das Problem, eine leere Ausgabe des Programms “zip” zu unterdrücken, damit Cron mir keine Mail schickt, wenn es nichts zu zippen gibt. Findet zip nichts, was es einpacken kann, bekommt man die folgende Meldung: /usr/bin/zip -r /tmp/test.zip . -t `date -d “-1 days” +%Y-%m-%d` -i “*/bearbeitet/*” zip error: Nothing to do! (/tmp/test.zip) [...]
STDERROR in eine Variable umleiten
Donnerstag, den 3. Februar 2011Kann man die Fehlerausgabe eines Befehls in einer Variablen speichern und die Standardausgabe trotzdem weiterverarbeiten? Ja, man kann.
set -x Ausgaben nur in eine Datei schreiben
Freitag, den 16. April 2010Der Schalter set -x (auch xtrace genannt) ist ein hilfreiches Werkzeug zum Debuggen von Shellskripten. Aber manchmal sieht man auf Grund der Vielzahl an Meldungen den Wald von lauter Bäumen nicht. Und der normale Anwender sollte davon besser auch nichts zu sehen bekommen. Daher sollte man nach getaner Kammerjägerei den Schalter wieder aus dem Skript [...]
Leerzeichen bei For-In-Schleifen in der bash
Donnerstag, den 22. Januar 2009Heute geht es um Daten, die innerhalb einer For-In-Schleife aus einer Datei gelesen werden und die Leerzeichen enthalten.
Alle Fehlermeldungen in einem Script umleiten
Mittwoch, den 14. Januar 2009Man kann in einem Shell-Script ja Ausgaben, die an den Standard-Fehler-Kanal STDERR gehen, mit 2>>dateiname.log in eine Datei umleiten. Dies muss aber für jeden Befehl einzeln gemacht werden. Es gibt aber bei der Bash eine Methode, die Umleitung für das gesamte Script zu machen. Dazu nutzt man eine Spezialform des Befehls exec: Werden als Parameter [...]
String in der Shell in Groß- oder Kleinbuchstaben wandeln
Montag, den 11. Juni 2007Mitunter will man in einem Shell-Script einen String ist Groß- oder Kleinbuchstaben wandeln. Das lässt sich recht einfach mit dem Kommando tr bewerkstelligen, welches auf vielen Systemen verfügbar ist.
Dateinamen mit Leerzeichen auf der Kommandozeile verarbeiten
Mittwoch, den 13. September 2006Dateinamen, die Leerzeichen enthalten, machen auf der Kommandozeile oder in Scripten häufig Ärger, da das Leerzeichen meist als Trennzeichen zwischen den Parametern dient. Im vorliegenden Artikel werden ein paar Tricks gezeigt, wie man die Probleme umschiffen kann.