Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : shellscript mit sed, brauche hilfe



BeaTtheMeaT666
21-06-2002, 22:20
hollebolle !

ich bin net so fit in sed, vor allem in sachen reguläre ausdrücke.

habe volgendes vor:

will aus den access-logfiles meines squid-proxies nur die URLs rausfiltern, ohne den ganzen firlefanz drumherum....
die einträge sehen zum beispiel so aus:


1024688152.564 949 192.168.11.11 TCP_MISS/200 6234 GET http://www.apache.org/images/asf_logo_wide.gif - DIRECT/www.apache.org image/gif
1024688153.084 2249 192.168.11.11 TCP_MISS/200 7906 GET http://www.apache.org/ - DIRECT/www.apache.org text/html
1024688156.692 1598 192.168.11.11 TCP_MISS/200 9145 GET http://httpd.apache.org/ - DIRECT/httpd.apache.org text/html
1024688157.307 1427 192.168.11.11 TCP_MISS/200 10077 GET http://httpd.apache.org/images/httpd_logo_wide.gif - DIRECT/httpd.apache.org image/gif
1024688159.286 755 192.168.11.11 TCP_MISS/200 3196 GET http://www.apache.org/LICENSE.txt - DIRECT/www.apache.org text/plain
1024688165.575 3951 192.168.11.11 TCP_MISS/200 6383 GET http://httpd.apache.org/docs/images/sub.gif - DIRECT/httpd.apache.org image/gif
1024688171.922 10704 192.168.11.11 TCP_MISS/200 146960 GET http://httpd.apache.org/docs/misc/FAQ.html - DIRECT/httpd.apache.org text/html


daraus soll ne datei erstellt werden, in der zeile für zeile nur die URL steht.....

kann mir jemand da weiterhelfen ?

thx

fork
22-06-2002, 12:48
Da ich das spontan nicht mit sed kann, hier das ganze in Perl:


perl -e 'while (<>){m((http://[^ \t\n]*));print "$1\n";}' eine_von_den_access_logfiles


Gruß
Tobias

BeaTtheMeaT666
22-06-2002, 18:29
danke "gabel" :p

klappt. perl is wohl echt ne feine sache.
ich bin grad erst am bash-scripten und da auch erst am anfang....

weißt du zufällig, wo's ne gute erklärung zu regulären ausdrücken gibt ?

fork
22-06-2002, 19:03
z. B. hier:
http://www.64-bit.de/dokumentationen/linux/013/textsuche.html

Badsteve
23-06-2002, 11:31
awk -F ' ' '{print $7}' /file


So gehts auch !