/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
cat en tekstfil og grep kun unikke linier
Fra : Joe


Dato : 18-03-04 14:38

Jeg køre p.t. kommandoen "cat logile.txt | grep VTT" og får følgende
resultat: 215.44.237.232 - - [17/Mar/2004:22:11:19 +0100] VTT
215.44.237.232 - - [17/Mar/2004:22:11:24 +0100] VTT
24.115.111.51 - - [17/Mar/2004:23:40:03 +0100] VTT
81.55.6.172 - - [18/Mar/2004:00:15:36 +0100] VTT
143.175.82.47 - - [18/Mar/2004:03:58:37 +0100] VTT
211.85.26.11 - - [18/Mar/2004:04:28:05 +0100] VTT
211.85.26.11 - - [18/Mar/2004:04:28:08 +0100] VTT
Jeg ville meget gerne have det således, at der kun listes unikke IP numre...
altså så resultatet skulle være:215.44.237.232 - - [17/Mar/2004:22:11:24
+0100] VTT
24.115.111.51 - - [17/Mar/2004:23:40:03 +0100] VTT
81.55.6.172 - - [18/Mar/2004:00:15:36 +0100] VTT
143.175.82.47 - - [18/Mar/2004:03:58:37 +0100] VTT
211.85.26.11 - - [18/Mar/2004:04:28:08 +0100] VTT
Dvs. 5 entries istedet for 7. Er det muligt med en almindelig grep.. evt. en
awk?



 
 
Peter Makholm (18-03-2004)
Kommentar
Fra : Peter Makholm


Dato : 18-03-04 14:43

"Joe" <joe@nowhere.xyz> writes:

> Jeg ville meget gerne have det således, at der kun listes unikke IP numre...
> altså så resultatet skulle være:215.44.237.232 - - [17/Mar/2004:22:11:24

Følgende bør gøre det:

$ grep VTT logfile.txt | sort -k1,1 -u

--
Peter Makholm | If you can't do any damage as root, are you still
peter@makholm.net | really root?
http://hacking.dk | -- Derek Gladding about SELinux

Joe (18-03-2004)
Kommentar
Fra : Joe


Dato : 18-03-04 15:09

> > Jeg ville meget gerne have det således, at der kun listes unikke IP
numre...
> > altså så resultatet skulle være:215.44.237.232 - - [17/Mar/2004:22:11:24
>
> $ grep VTT logfile.txt | sort -k1,1 -u

Den må bare helst ikke ændre i rækkefølgen (det skal gerne fortsat komme i
kronologisk orden).



Peter Makholm (18-03-2004)
Kommentar
Fra : Peter Makholm


Dato : 18-03-04 15:16

"Joe" <joe@nowhere.xyz> writes:

> Den må bare helst ikke ændre i rækkefølgen (det skal gerne fortsat komme i
> kronologisk orden).

Så skal der stærkere ting til:

print -ane 'print unless $F{$F[0]}++'

istedet for sort-tingen. At forklare hvorfor det virker overlades til
læseren.

--
Peter Makholm | Vi smider blade allesammen - hele tiden
peter@makholm.net | som et konstant spirende efterår
http://hacking.dk | Og hele tiden vokser nye frugter frem
| og vi finder nogen til at plukke dem
| -- Tilt, Perkussive popler

Joe (18-03-2004)
Kommentar
Fra : Joe


Dato : 18-03-04 15:24

> > Den må bare helst ikke ændre i rækkefølgen (det skal gerne fortsat komme
i
> > kronologisk orden).
>
> Så skal der stærkere ting til:
> print -ane 'print unless $F{$F[0]}++'
>
> istedet for sort-tingen. At forklare hvorfor det virker overlades til
> læseren.

Måske skal jeg sige, at det er en FreeBSD på en Bash shell... der er ikke en
"print" kommando. Der er masser af andre, printf, wprintf, fwprintf,
swprintf, vwprintf, vfwprintf, vswprintfog sikkert flere...



Mogens Kjaer (18-03-2004)
Kommentar
Fra : Mogens Kjaer


Dato : 18-03-04 15:36

Joe wrote:
>>>Den må bare helst ikke ændre i rækkefølgen (det skal gerne fortsat komme
>
> i
>
>>>kronologisk orden).
>>
>>Så skal der stærkere ting til:
>>print -ane 'print unless $F{$F[0]}++'
>>
>>istedet for sort-tingen. At forklare hvorfor det virker overlades til
>>læseren.
>
>
> Måske skal jeg sige, at det er en FreeBSD på en Bash shell... der er ikke en
> "print" kommando. Der er masser af andre, printf, wprintf, fwprintf,
> swprintf, vwprintf, vfwprintf, vswprintfog sikkert flere...
>
>

Der skulle nok have stået perl, og ikke print.

Mogens

--
Mogens Kjaer, Carlsberg A/S, Computer Department
Gamle Carlsberg Vej 10, DK-2500 Valby, Denmark
Phone: +45 33 27 53 25, Fax: +45 33 27 47 08
Email: mk@crc.dk Homepage: http://www.crc.dk


Peter Makholm (18-03-2004)
Kommentar
Fra : Peter Makholm


Dato : 18-03-04 15:37

Peter Makholm <peter@makholm.net> writes:

> print -ane 'print unless $F{$F[0]}++'

Ups, det skulle ahve været perl. My mistake.

perl -ane 'print unless $F{$F[0]}++'

--
Peter Makholm | There are 10 kinds of people. Those who count in
peter@makholm.net | binary and those who don't
http://hacking.dk |

Joe (18-03-2004)
Kommentar
Fra : Joe


Dato : 18-03-04 15:45

> > print -ane 'print unless $F{$F[0]}++'
>
> Ups, det skulle ahve været perl. My mistake.
> perl -ane 'print unless $F{$F[0]}++'

Det ser ud til at virke helt perfekt Mange tak. Nu kan jeg få et mere
rigtigt billede af antal downloads af min fil.



Søg
Reklame
Statistik
Spørgsmål : 177502
Tips : 31968
Nyheder : 719565
Indlæg : 6408534
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste