Domains filtern mit grep
-
Hallo,
Wie filter ich aus einem HTML Code Domains wie z.b "www.blah.org" raus.
Ich habe bisher folgenden String aber er funktioniert nicht ganz, sprich es wird teilweise noch HTML mit ausgegeben.
$ cat search.html | grep -o [www]\.*\.org\/\
Kenn einer eine bessere Methode, bitte ohne hilfe von sed oder awk.
-
dies hier ist ein bißchen genauer, vielleicht bringt das noch bessere ergebnisse:
cat search.html | egrep -o [w]{3,3}\.{1,1}\.org
-
Funktioniert irgendwie nicht ganz so gut...
murray@cuare:~$ cat search.html | egrep -o [w]{3,3}\.{1,1}\.org
egrep: [w]3.1.org: No such file or directory
egrep: [w]3.1.org: No such file or directory
egrep: [w]3.1.org: No such file or directory
-
du musst anführungszeichen um die RegEx machen, da sonst die Shell einige Zeichen expandiert und das cat ist auch nicht nötig, da du die Datei direkt angeben kannst
Und egrep kann man auch gleich durch grep -E ersetzen
-
Ok, hab ich gemacht, nur kommt nun gar keine Ausgabe.
murray@cuare:~$ grep -E "[w]{3,3}\.{1,1}\.org" search.html
murray@cuare:~$
-
dann ersetzt einfach die regex die ich geschrieben habe durch deine, dann sollte der befehl so aussehen:
cat search.html | grep -o '[w]{3,3}\.{1,1}\.org'
und wenn das immer noch nicht hilft, dann ist das schlechteste das du machen kannst, zu schreiben, es geht nicht. wie wäre es deine beispiel datei anzuhängen ?? ich glaube kaum daß die irgendeinem anderen bekannt ist, also wie soll man da helfen wenn man keinen ansatz punkt hat ???