Heim  >  Artikel  >  php教程  >  allgemeine grep-Befehle

allgemeine grep-Befehle

高洛峰
高洛峰Original
2016-12-13 14:34:201136Durchsuche

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 Content

grep '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

7. Fragen Sie leere Zeilen und Zeilen ab, die mit einer bestimmten Bedingung beginnen oder enden.

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)

[root@mypc oid2000]# grep -n "abc$" 111.txt (#Abfrage die Zeilen, die mit abc enden)


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)

Verzeichnisabfrage

[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)

Mehrere Sonderzeichen von egrep

+: mindestens ein oder mehrere egrep -n 'go+d' pp

?: 0 oder ein egrep -n 'go?d' pp

|: Verwenden Sie oder, um nach egrep zu suchen -n ' go|good' pp Suche nach go oder good

(): Finden Sie die Gruppendaten egrep -n 'g(o|pp)d' pp God oder gppd anzeigen Dies ähnelt [], aber besser als [] Was mächtig ist, ist, dass Sie mehrere Zeichen austauschen können

egrep -n 'd(r|o)e' pp ===== grep -n 'd[ro]e' pp

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:grep Linux-BefehlNächster Artikel:grep Linux-Befehl