Page 1 of 1

Ipaddresse aus apache log extraieren.

Posted: 2005-02-17 13:09
by demux
Ich möchte eine textdatei haben, mit allen ip's, die ich ge"grap"ed habe.

Was ich schon geschafft habe, ist eine liste in eine textdatei zu schreiben, und die per sort nach ip's sortieren zu lassen.

Jetzt möchte ich aber jede ip einzeln (ohne den rest im log) und zwar ohne duplikate. Die ip steht als erstes im log.

Am ende soll eine textdatei mit nur den ip's sein, wobei jede ip auch nur einmal vorkommen soll. Hat jemand einen tipp für mich ?

Re: Ipaddresse aus apache log extraieren.

Posted: 2005-02-17 13:13
by Roger Wilco

Code: Select all

cut -d ' ' -f1  access_log|sort -u > deine_datei.txt
Im access_log steht dabei die IP-Adresse an 1. Stelle.

Re: Ipaddresse aus apache log extraieren.

Posted: 2005-02-17 13:14
by juergen
uniq

Re: Ipaddresse aus apache log extraieren.

Posted: 2005-02-17 13:50
by demux
Roger Wilco wrote:

Code: Select all

cut -d ' ' -f1  access_log|sort -u > deine_datei.txt
Im access_log steht dabei die IP-Adresse an 1. Stelle.
Herrlich ! Danke!

Im moment steht alles untereinnander, wie bekomme ich das in eine in einer zeile, mit einem space getrennt?

Sorry, für die doofen fragen ;-)

Re: Ipaddresse aus apache log extraieren.

Posted: 2005-02-17 14:02
by Roger Wilco

Code: Select all

cut -d ' ' -f1  access_log|sort -u|awk '{ printf "%s ",$1; }' > deine_datei.txt
und zusätzlich http://www.tldp.org/LDP/abs/html/ lesen...

Re: Ipaddresse aus apache log extraieren.

Posted: 2005-02-17 14:25
by juergen
oder:

Code: Select all

cut -d ' ' -f1  access_log|sort -u|tr "[:space:]" "[ ]"
ein bischen schneller :wink:

Re: Ipaddresse aus apache log extraieren.

Posted: 2005-02-17 17:19
by demux
Roger Wilco wrote:

Code: Select all

cut -d ' ' -f1  access_log|sort -u|awk '{ printf "%s ",$1; }' > deine_datei.txt
und zusätzlich http://www.tldp.org/LDP/abs/html/ lesen...
Shit, ich habe mir jetzt vieles zusammengelesen. Aber wie schaffe ich die daten aus einer externen datei (hier ip-liste) als variable (array) ainzulesen?

Re: Ipaddresse aus apache log extraieren.

Posted: 2005-02-17 17:46
by Roger Wilco

Code: Select all

tr "[:space:]" "[ ]" < deine_datei.txt
EDIT: ignorier die Antwort, hatte nicht richtig gelesen.
Wozu brauchst du die IPs denn in einem Array in der Bash?
Wenn du nur den Inhalt in einer Variablen haben willst:

Code: Select all

VARIABLE=$(cat deine_datei.txt)

Re: Ipaddresse aus apache log extraieren.

Posted: 2005-02-17 19:39
by demux
Ja. Danke das funktioniert. Mitlerweile habe ich die sache im griff ...