Diese Option --include kann wie folgt verwendet werden:
grep -rn --include='*.c' --include='*.h' re.
kann mehrfach angegeben werden Wenn dies oben der Fall ist, können Sie tatsächlich
grep -rn --include='*.[ch]' re verwenden.
Wenn die Quelldatei jedoch C++-Quellcode enthält, wird die Die obige Methode funktioniert nicht, da Sie nur ein Zeichen in [] einfügen können.
grep -rn --include='*.{cpp,h}' funktioniert derzeit auch nicht , Sie müssen ohne Anführungszeichen erweitern (Dies ist abgeschlossen, bevor grep von Bash ausgeführt wird, und kann über set -x beobachtet werden)
grep -rn --include=*.{cpp,h} re .
pair {A in bash ,B} Diese Form der Erweiterung ignoriert, ob die entsprechende Datei im aktuellen Verzeichnis vorhanden ist. Diese Schreibweise kann ermüdende Finger auf der Befehlszeile vermeiden >
Hervorhebung
grep --color=auto 'pattern' 'text'
echo -e 'e[34mhahae[m' Dadurch wird ein farbiges ausgegeben string -e Gibt eine spezielle Verarbeitung an. e. Diesem e muss ein [symbol
grep, häufig verwendet
grep [-acinv] 'Suchen Dateiname „Zeichenfolge“
Parameterbeschreibung:
-a: Binärdateien als Textdateien durchsuchen
-c: Zählt, wie oft die „Suchzeichenfolge“ gefunden wird
- i: Ignorieren Sie den Unterschied zwischen Groß- und Kleinschreibung, sodass Groß- und Kleinschreibung gleich behandelt werden
-n: Geben Sie übrigens die Zeilennummer aus
- v: Umgekehrte Auswahl, das heißt, es gibt keine „Suchzeichenfolge“. Diese Inhaltszeile!
1. Suchen Sie nach bestimmten Zeichen
grep 'oo' pp.txt Verwenden Sie unten nur pp, um pp.txt darzustellen
Anzahl der Zeilen mit Zeichen anzeigen
grep -n 'oo' pp
Nicht-oo-Zeichen anzeigen
grep -v 'oo' pp
Groß- und Kleinschreibung ignorierter Zeichen anzeigen
grep -i 'oo' p
2. Verwenden Sie [], um die Suchergebnisse zu verarbeiten
Geschmacks- und Testzeichenfolgen anzeigen
grep -n 't[ae]st' pp Hier [ ae] ist nur ein Zeichen, das a oder e verarbeitet und die oben genannten Anforderungen erfüllen kann
Wenn Sie t(x)st abgleichen möchten und x ein beliebiges Zeichen ist, können Sie es wie folgt behandeln
grep 't[.]st' pp . Das Symbol stellt ein beliebiges Zeichen dar
Informationen anzeigen, die oo-Zeichen enthalten
grep -n 'oo' pp
Wenn Sie hoffen, dass vor oo keine g-Zeicheninformationen vorhanden sind
grep -n '[^g]oo' pp Das ^ bedeutet hier, das Nicht-goo-Zeichen zu negieren
Erhalten Sie das vorhergehende Nichtzeichen
grep -n '[^a-zA-Z]oo' pp
Wenn Sie die numerischen Zeichen
grep -n '[0-9]' pp // erhalten, entspricht dies tatsächlich grep -n '[0-9[0-9]*' pp * stellt 0 oder mehrere wiederholte Informationen dar
3. Spezielle Verarbeitung des Zeilenanfangs und -endes $^
Wenn Sie das erhalten möchten In der ersten Zeile beginnt es mit den Zeichenzeilen
grep -n '^the' pp
Wenn Sie möchten, dass die Zeichen mit englischen Zeichen beginnen
grep -n '^[ a-zA-Z]' pp
Informationen abrufen, die nicht mit englischen Zeichen beginnen
grep -n '^[^ a-zA-Z]' pp // Das ^ innen ist die Negation des äußeren ^, das mit dem obigen beginnt
Erhalte die Zeile, die mit dem Dezimalpunkt endet
grep -n '.$' pp //Der Dezimalpunkt ist ein Sonderzeichen. Zeichen müssen mit
maskiert werden. Achten Sie beim Zeilenwechsel unter Windows auf das Symbol ^M
So erhalten Sie eine Leerzeile
grep -n '^$' pp Hiermit wird die Leerzeile übernommen
Wenn Sie möchten Um den nicht kommentierten Inhalt in allen Dokumenten abzurufen, können Sie Folgendes tun:
grep - v ' ^$' pp |. Die erste besteht darin, nicht leere Daten zu übernehmen die Daten am Anfang
Ich nehme manchmal#v v Die Zeile
grep -n '^#' pp
4. Beliebige Zeichen und wiederholt Zeichen
.: Absolut jedes Zeichen
*: 0 oder mehr identische Zeichen
Zum Anzeigen von Daten mit zwei Zeichen in der Mitte von gf
grep -n 'g..f' pp
Mindestens eine Zeichenfolge, die o ist
grep -n 'oo*' pp //Weil * steht für 0 oder mehr
beginnt und endet mit g, mit mindestens einem o in der Mitte
grep -n 'goo*g'
Suchen Sie gg mit einem beliebigen Zeichen in der Mitte. Die Zeichenfolge
grep -n 'g.*g' pp stellt hier ein beliebiges Zeichen dar
5. Qualifier {}
Ansicht Es gibt zwei Zeichenfolgen mit aufeinanderfolgenden o's zwischen g und p
grep -n 'go{2,5}p'
Suchen Sie mindestens zwei Zeichen. Erstellen Sie
grep -n 'go{2,}p' pp
Suchen Sie eine Zeichenfolge mit nur zwei
grep -n 'go{ 2}p' pp
6. Wichtige Sonderzeichen
^word zu suchende Zeichenfolge (Wort) am Anfang der Zeile!
Beispiel: grep -n '^#' pp sucht nach der Zeile, die mit # beginnt!
Wort$Die zu suchende Zeichenfolge (Wort) steht am Ende der Zeile!
Beispiel: grep -n '!$' pp gibt die Zeile aus, die mit !! endet
Stellt ein beliebiges Zeichen dar
Beispiel; grep -n 'g.'
Escape-Sonderzeichen Beispiel: grep -n ' pp Suchen Sie nach der Zeile mit einfachen Anführungszeichen *: entspricht 0 oder mehr Zeichen grep -n 'o*' pp entspricht Zeichen mit null oder mehr o's {n,m}: Anzahl der Übereinstimmungen grep -n 'o{2}' pp gibt die Zeichen mit zwei oo-Zeichen aus [] Entspricht einem einzelnen Zeichen 1.[ list]: [abl] Entspricht einem beliebigen in abl 2.[^xx]: Negiert die darin enthaltenen Zeichen. Hier kann nur das richtige Zeichen gefunden werden. Wenn Sie mehrere Zeichen negieren möchten, müssen Sie nachsehen 3. [char1-char2]: Übereinstimmung mit Daten innerhalb eines bestimmten Bereichs, z. B. [a-z][A-Z][0-9] 7 --- >egrep Dies entspricht grep -E grep -v '^$' pp | ist egrep -v '^$|^' 8. Der Suchinhalt ist eine „ODER“-Beziehung: # Finden Sie den Inhalt mit Geben Sie die Zahl 23 oder 24 ein und zeigen Sie den Inhalt und die Zeilennummer an. grep -E '23|24' * -n 9 sind in der data.txt-Datei: grep '^$' data.txt -c 10. Überprüfen Sie, wie viele Verzeichnisse sich im aktuellen Verzeichnis befinden: ls -l |. grep '^d' 11. Suchen Sie die data.txt-Datei, deren Zeichenfolge mit einem Contentgrep 'a$ endet ' data.txt -i -n $ grep "sort it" * (#Oder in allen Dateien nach dem Wort "sort it" suchen)Alle folgenden Beispiele beziehen sich auf die Abfrage von
Zeilen in einer einzelnen Datei, um$ grep -c "48" data.f
$ 4 (#g r e p Gibt die Zahl 4 zurück, was bedeutet, dass es welche gibt 4 Zeilen mit der Zeichenfolge „4 8“. )$ grep "48" data.f (#Anzeige von 4 Textzeilen mit der Zeichenfolge „4 8“)
Zeigt die Anzahl der Zeilen an, die dem passenden Muster entsprechen:
[root@ mypc oid2000]# grep -n 1234 111.txt
1:1234
3:1234ab
6. Genaue Übereinstimmung
[root@mypc oid2000]# grep "1234>" txt
1234
Verwenden Sie ^ und $ zusammen, um leere Zeilen abzufragen. Verwenden Sie den Parameter -n, um die tatsächliche Anzahl der Zeilen anzuzeigen
[root@mypc oid2000]# grep -n "^$" 111.txt (Rückgabeergebnis 2: #Zeigt an, dass die zweite Zeile eine Leerzeile ist)
[root@mypc oid2000 ]# grep -n "^abc" 111.txt (#Abfrage der Zeilen, die mit abc beginnen)
8. Passen Sie Sonderzeichen an und suchen Sie nach Zeichen mit besonderer Bedeutung, wie z. B. $ ' " * [] ^ | + ? , die vor den spezifischen Zeichen hinzugefügt werden müssen.
[root@mypc oid2000]# grep „.“ 111.txt (#Alle Zeilen abfragen, die „.“ in 111.txt enthalten)
[root@mypc oid2000]# grep „my.conf“ 111.txt (# Fragen Sie den Dateinamen ab my. c o n f line)
[root@mypc oid2000]# ls –l |grep „^d“ (#Wenn Sie das Verzeichnis im Verzeichnis abfragen möchten list)
[root@ mypc oid2000]# ls –l |grep „^d[d]“ (#Alle Dateien in einem Verzeichnis abfragen, das keine Verzeichnisse enthält)
[root@mypc]# ls –l |grep „^d….. x..x“ (#Fragen Sie den Satz von Verzeichnissen ab, für die andere Benutzer und Benutzergruppenmitglieder ausführbare Berechtigungen haben)
10. Sich selbst ausschließen
ps -ef |grep telnet |. grep -v grep ( Extrahieren Sie den „Telnet“-Prozess aus den angezeigten Prozessen und verwerfen Sie den grep-Prozess in ps)