GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum bricht das Hinzufügen eines Doppelpunkts dieses Grep-Muster?

Ich habe eine Suche mit grep durchgeführt , aber es funktioniert nicht so wie ich es erwartet habe. Ich habe die folgenden Zeilen in einer Datei:

blacklists/redirector/domains:needyoutube.com
lacklists/redirector/domains:openyoutube.com
blacklists/redirector/domains:proxy-youtube.com
blacklists/redirector/domains:proxytoyoutube.com
blacklists/redirector/domains:streamyoutube.com
blacklists/redirector/domains:unblockyoutube.com

Wenn ich laufe:

grep ':youtube.com'

Ich bekomme keine Ergebnisse. Folgendes funktioniert:

grep 'youtube.com'

Wie kann ich dem Doppelpunkt entkommen (: )? Backslash (grep „\:youtube.com“) funktioniert nicht. Ich verwende RHEL 5, grep (GNU grep) 2.5.1.

Update:
Ich habe die Einträge vergessen, die ich grep wollte, diese existieren auch:

./blacklists/movies/domains:youtube.com
./blacklists/movies/domains:youtube.com.br

Ich möchte nur die Felder abrufen, die den genauen Domänennamen enthalten. Ich möchte also, dass die schwarzen Listen mit youtube.com verknüpft werden, also verwende ich „:youtube.com“.

Von der Liste oben (youtube.com, youtube.com.br) sollte ich nur youtube.com bekommen, aber ich bekomme nichts.

Ich habe mich nicht klar genug ausgedrückt, sorry.

Akzeptierte Antwort:

Sieht so aus, als wäre „Blacklists/Redirector/Domains“ eigentlich ein Dateiname, nicht Teil des Dateiinhalts. grep ':youtube.com' funktioniert einwandfrei:

% cat test.txt
./blacklists/movies/domains:youtube.com
./blacklists/movies/domains:youtube.com.br
blacklists/redirector/domains:needyoutube.com
lacklists/redirector/domains:openyoutube.com
blacklists/redirector/domains:proxy-youtube.com
blacklists/redirector/domains:proxytoyoutube.com
blacklists/redirector/domains:streamyoutube.com
blacklists/redirector/domains:unblockyoutube.com
% grep ':youtube.com' test.txt
./blacklists/movies/domains:youtube.com
./blacklists/movies/domains:youtube.com.br

Wenn Sie rekursiv Zeilen suchen möchten, die mit „youtube.com“ beginnen, verwenden Sie grep -R '^youtube\.com' path/to/dir


Linux
  1. grep:Befehl nicht gefunden

  2. Was bedeutet diese Warnung?

  3. Warum wird diese Shell-Pipeline beendet?

  4. Warum gibt das Hinzufügen einer lokalen IP und eines Benutzernamens in scp einen Public-Key-Fehler zurück?

  5. Warum funktioniert diese Regex nicht unter Linux?

Grep – Warum entfernen Klammern im Grep-Muster den Grep-Prozess aus Ps-Ergebnissen?

Warum ignoriert Sudo Aliasse?

Was zeigt diese Prozessstatistik an?

Warum verhält sich Ping -f so?

Was ist der Grep-Befehl unter Linux? Warum wird es verwendet und wie funktioniert es?

Was bedeutet \b in einem Grep-Muster?