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:37] 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 ''doc'' suchen und Ergebnis in ''bilder.txt'' speichern: |
+ | find doc/ -xdev -name "*.jpg" > /tmp/bilder.txt | ||
- | ''dateien.txt'' mit ''touch'' weiterverarbeiten: | + | Das Selbe, aber Fehlermeldungen unterdrücken: |
- | xargs touch < /tmp/dateien.txt | + | find doc/ -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 | + | Berechtigung der in der Datei ''bilder.txt'' aufgeführten Dateien mit ''chmod'' ändern: |
+ | xargs chmod g+w < /tmp/bilder.txt | ||
- | Das Selbe mit einer benannten Pipe: | + | ===== Ausgabe eines Befehls mit zweitem Befehl weiterverarbeiten ===== |
- | mkfifo pipe | + | jpg-Bilder in ''doc'' suchen und Berechtigung mit ''chmod'' ändern: |
- | xargs touch < pipe & | + | find doc/ -xdev -name "*.jpg" 2> /dev/null | xargs chmod g-w |
- | find / -mount -name "*.au" 2> /dev/null > pipe | + | |
+ | Verbesserte Version, die auch mit Leer- und Sonderzeichen in Dateinamen klar kommt: | ||
+ | mv doc 'Eigene Dateien' | ||
+ | find Eigene\ Dateien -xdev -name "*.jpg" -print0 2> /dev/null | xargs -0 chmod g+w | ||
+ | mv Eigene\ Dateien doc | ||
+ | |||
+ | ===== Fehlerausgabe und Standardausgabe zusammenfassen ===== | ||
+ | Lange Version, geht auch mit anderen Shells als bash: | ||
+ | find doc/ -xdev -name "*.jpg" > /tmp/bilder.txt 2>&1 | ||
+ | |||
+ | Nur mit bash: | ||
+ | find doc/ -xdev -name "*.jpg" &> /tmp/bilder.txt | ||
+ | |||
+ | ===== Fehlerausgabe und Standardausgabe mit zweitem Befehl weiterverarbeiten ===== | ||
+ | find /var -xdev -type d -ls 2>&1 | less | ||
+ | |||
+ | Nur mit bash: | ||
+ | find /var -xdev -type d -ls |& less | ||
- | Fehlerausgabe und Standardausgabe zusammenfassen: | ||
- | 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 | ||
Todo: Beispiel für tee | Todo: Beispiel für tee |