J'ai une grande liste (en millions) d'URL dans un fichier (un par ligne), comme ce qui suit:grepper une liste des URLS pour un mot-clé dans la partie de domaine
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)
Je veux imprimer tous l'URL où un certain mot clé apparaît dans la partie de domaine de l'URL.
ex.
grep <regex>KEYWORD<regex> file
output
======
http://KEYWORDindomain.net/blahblah
http://anotherKEYWORDindomain.org/blahblah/blip/q=123
je me dis que cela devrait être facilement grep-pouvoir, mais de la difficulté à déterminer la regex. Peut-être que j'ai besoin de tuyau quelques commandes pour atteindre mes résultats souhaités?
le plus proche que j'ai obtenu est la suivante: grep "http: //.* \ /"
Quelqu'un at-il une bonne façon de le faire en utilisant les commandes shell?
thx pour le conseil, avoir du mal à faire fonctionner, voici ce que j'ai essayé et l'erreur que j'ai eu: mike @ mike-desktop: ~ $ grep "\ b (https? | Ftp | fichier): // [ ^/\ s] * vacances [^/\ s] * (?:/[- A-Z0-9 + & @ # /%? = ~ _ | $!:,.;] * [A-Z0-9 + & @ # /% = ~ _ | $])? " urls.txt bash:,: modificateur d'historique non reconnu mike @ mike-desktop: ~ $ egrep \ b (https? | ftp | fichier): // [^/\ s] * vacances [^/\ s] * (?:/[- A-Z0-9 + & @ # /%? = ~ _ | $!:,;;] * [A-Z0-9 + & @ # /% = ~ _ | $])? urls.txt bash:,: modificateur d'historique non reconnu – mike
Essayez 'grep' avec l'option' --perl-regexp'. En outre, je ne suis pas sûr si vous devez doubler les antislashs pour leur échapper. –