Kurzbefehl für buntes egrep
einrichten:
alias g='grep -E --color=auto'
g home /etc/passwd
Diese Übersicht ist nicht vollständig. Vollständige Übersichten gibt es z.B. hier:
man grep
^ | Zeilenanfang |
$ | Zeilenende |
Alle Nutzer mit bash
als Shell:
grep -E --color 'bash$' /etc/passwd
. | ein beliebiges Zeichen |
[aeiou] | Eines der Zeichen a, e, i, o oder u |
[a-z] | Ein ASCII-Kleinbuchstabe |
[0-9A-Fa-f] | Ein Hexadezimalziffer |
[^aeiou] | Ein Zeichen, aber nicht a, e, i, o oder u |
[^0-9A-Fa-f] | keine Hexadezimalziffer |
{n,m} | mindestens n-Mal, maximal m-Mal |
{n} | genau n-Mal |
? | 0 oder 1 mal, entspricht: {0,1} |
* | 0 oder mehr mal, entspricht: {0,} |
+ | 1 oder mehr mal, entspricht: {1,} |
Alle Nutzernamen:
grep -E --color -o '^[^:]+' /etc/passwd
(…) | Bereich der kopiert werden soll |
\1 | Kopie einfügen |
Alle Nutzer deren Name nicht im Namen ihres Heimatverzeichnises enthalten ist:
grep -vE '^([^:]+):x:[0-9]+:[0-9]+:[^:]*:[^:]*\1' /etc/passwd
Suchen und ersetzen mit sed in 3 Schritten:
Anzeigen, was geändert würde:
sed -rn 's/bash$/fish/p' /etc/passwd
Komplette Datei inkl. Änderungen anzeigen:
sed -r 's/bash$/fish/' /etc/passwd
Datei tatsächlich ändern:
cp /etc/passwd . sed -ir 's/bash$/fish/' passwd
sed -e '3d' namen sed -e '3,5d' namen sed -e '/Johann/d' namen
Einführung in Reguläre Ausdrücke:
Tutorials und Referenz:
Hier gibt es ein nettes Tool um regular expressions zu bauen und zu testen:
Hier ein Tutorial von Heiko Baur:
Editor für Reguläre Ausdrücke:
RegEx Kreuzworträtsel