Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung Nächste Überarbeitung Beide Seiten, nächste Überarbeitung | ||
admin_grundlagen:pipes_und_umleitungen [2009/01/13 12:42] 127.0.0.1 Externe Bearbeitung |
admin_grundlagen:pipes_und_umleitungen [2012/10/12 16:16] ingo_wichmann |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | Ergebnisse in ''dateien.txt'': | + | ===== Vorbereitung des Beispiels ===== |
- | find / -mount -name "*.au" > /tmp/dateien.txt | + | Testdaten ins Heimatverzeichnis kopieren: |
+ | cd | ||
+ | cp -a /usr/share/doc . | ||
- | Fehlermeldungen unterdrücken: | + | ===== Ausgabe eines Befehls in Datei umleiten ===== |
- | find / -mount -name "*.au" > /tmp/dateien.txt 2> /dev/null | + | jpg-Bilder in / suchen und Ergebnis in ''bilder.txt'' speichern: |
+ | find / -xdev -name "*.jpg" > /tmp/bilder.txt | ||
- | ''dateien.txt'' mit ''touch'' weiterverarbeiten: | + | Das Selbe, aber Fehlermeldungen unterdrücken: |
- | xargs touch < /tmp/dateien.txt | + | find / -xdev -name "*.jpg" > /tmp/bilder.txt 2> /dev/null |
- | Beide Operationen zusammenfassen: | + | ===== Dateiinhalt mit Befehl weiterverarbeiten ===== |
- | find / -mount -name "*.au" 2> /dev/null | xargs touch | + | Änderungszeit der in der Datei ''bilder.txt'' aufgeführten Dateien mit ''touch'' ändern: |
+ | xargs touch < /tmp/bilder.txt | ||
- | Das Selbe mit einer benannten Pipe: | + | ===== Ausgabe eines Befehls mit zweitem Befehl weiterverarbeiten ===== |
- | mkfifo pipe | + | jpg-Bilder in / suchen und Änderungszeit mit ''touch'' ändern: |
- | xargs touch < pipe & | + | find / -xdev -name "*.jpg" 2> /dev/null | xargs touch |
- | find / -mount -name "*.au" 2> /dev/null > pipe | + | |
- | Fehlerausgabe und Standardausgabe zusammenfassen: | + | Verbesserte Version, die auch mit Leer- und Sonderzeichen in Dateinamen klar kommt: |
- | find / -mount -name "*.au" 2&>1 > /tmp/dateien.txt | + | |
- | + | ||
- | Umgang mit Leer- und Sonderzeichen in Dateinamen: | + | |
find Eigene\ Dateien/ -type f -print0 | xargs -0 chmod a-x | find Eigene\ Dateien/ -type f -print0 | xargs -0 chmod a-x | ||
+ | |||
+ | ===== Fehlerausgabe und Standardausgabe zusammenfassen ===== | ||
+ | Lange Version, geht auch mit anderen Shells als bash: | ||
+ | find / -xdev -name "*.au" > /tmp/bilder.txt 2>&1 | ||
+ | |||
+ | Nur mit bash: | ||
+ | find / -xdev -name "*.au" &> /tmp/bilder.txt | ||
+ | |||
+ | |||
+ | |||
Todo: Beispiel für tee | Todo: Beispiel für tee |