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