====== Tipps zu grep, awk und sed ====== Der größte Teil der folgenden Informationen ist aus der [[http://fibel.org|Linuxfibel]] - dort ist das Ganze schick erklärt ... ===== Reguläre Ausdrücke ===== ^ Ausdruck ^ Bedeutung ^ | ''^'' | Zeilenanfang | | $ | Zeilenende | | * | beliebig viele Vorkommen des vorangegangenen Zeichens (auch null) | | . | genau ein beliebiges Zeichen | | [] | genau eins der eingeschlossenen Zeichen (auch Bereichsangaben sind erlaubt: [a-f]) | | ''[^]'' | keins der eingeschlossenen Zeichen | | \ | das folgende Zeichen wird nicht als Sonderzeichen ausgewertet | | \< | Muster am Wortanfang suchen | | \> | Muster am Wortende suchen | | \(..\) | eingeschlossenes Muster vormerken; auf dieses kann später über \1 zugegriffen werden (bis zu neun Muster sind so nutzbar) | | x\{m\} | m-faches Auftreten des Zeichens ''x'' | | x\{m,n\} | mindestens m-, höchstens n-maliges Auftreten von ''x'' | Die folgenden Ausdrücke sind nur für egrep zulässig: ^ Ausdruck ^ Bedeutung ^ | + | mindestens ein Auftreten des vorangegangenen Zeichens | | ? | höchstens ein Auftreten des vorangegangenen Zeichens | | ''x|y'' | entweder ''x'' oder ''y'' | | ''(abc|xyz)'' | entweder ''abc'' oder ''xyz'' | ===== grep ===== Gefunden oder nicht?: Parameter ''-q'' setzen und per "$?" den Rückgabewert abfragen (0 - gefunden; 1 - Muster nicht gefunden; 2 - Datei nicht gefunden) (bzw. eine bedingte Pipe mit ''&&'' oder ''||'' verwenden) Parameter: * ''-c'': Anzahl der Zeilen, in denen das Muster gefunden wurde * ''-i'': Groß/''''Kleinschreibung ignorieren * ''-l'': nur die Dateinamen beim Finden ausgeben * ''-n'': Ausgabe der Zeilennummer des Fundes * ''-s'': unterdrückt die Fehlerausgaben (für Skripte) * ''-v'': zeigt alle Zeilen an, die das Muster nicht enthalten * ''-w'': das Muster muss ein einzelnes Wort sein * ''-A x'': zeigt x Zeilen an, die dem Muster folgen * ''-B x'': zeigt x Zeilen an, die dem Muster vorangehen ===== sed ===== Zum Nachschlagen fuer Beispiele: https://www.gnu.org/savannah-checkouts/gnu/sed/manual/sed.html ^ Ausdruck ^ Bedeutung ^ | sed 's/ich/du/g' | ersetzt alle Vorkommen von "ich" durch "du" (auch mehrere pro Zeile, wegen "g") | ===== tr ===== Zur Umsetzung von Sonderzeichen: ^ Ausdruck ^ Bedeutung ^ | tr "\000" "\t" | ersetzt alle ASCII-Null-Zeichen durch Tabulatoren |