ich eine große Liste haben (in Millionen) von URLs in einer Datei (eine pro Zeile), wie folgt aus:greppen eine Liste von URLs für ein Keyword in Domänenteil
http://someDomain.com/articlex=123&b=23
http://KEYWORDindomain.net/blahblah
http://anotherKEYWORDindomain.org/blahblah/blip/q=123
http://blabkkk.org/KEYWORD/blip/q=123
(etc)
Ich möchte alle auszudrucken die URLs, wo ein bestimmtes Keyword im Domain-Teil der URL erscheint.
ex.
ich denke, das sollte leicht grep-fähig sein, aber Probleme haben, die Regex herauszufinden. Vielleicht muss ich ein paar Befehle ausführen, um meine gewünschten Ergebnisse zu erzielen?
in der Nähe ich bekommen habe, ist: grep "http: //.* \ /"
Wer eine gute Möglichkeit, diese Shell-Befehle zu tun?
thx für den Tipp, Probleme haben, es zur Arbeit zu bekommen, hier ist, was ich versuchte und der Fehler, den ich bekam: mike @ mike-desktop: ~ $ grep "\ b (https? | Ftp | file): // [ ^/\ s] * Urlaub [^/\ s] * (?:/[- A-Z0-9 + & @ # /%? = ~ _ | $!:,.;] * [A-Z0-9 + & @ # /% = ~ _ | $])? " urls.txt bash:,: nicht erkannter history-Modifikator mike @ mike-desktop: ~ $ egrep \ b (https? | ftp | file): // [^/\ s] * urlaub [^/\ s] * (?:/[- A-Z0-9 + & @ # /%? = ~ _ | $!:,.;] * [A-Z0-9 + & @ # /% = ~ _ | $])? urls.txt bash:,: unrecognized history modifier – mike
Probieren Sie 'grep' mit der Option' --perl-regexp' aus. Außerdem bin ich mir nicht sicher, ob Sie die umgekehrten Schrägstriche verdoppeln müssen, um ihnen zu entkommen. –