Strona 1 z 1

[+] Porównywanie wyrażeń w różnych liniach

: 16 grudnia 2010, 00:46
autor: panel
Witam.
Mam log, w którym są ponumerowane linie, niektóre mają taki sam numer.
Potrzebuję tylko te linie, których numer nie powtarza się.

Kod: Zaznacz cały

2) 20101214 21:50:27 info  
2) 20101214 21:50:44 info 
3) 20101214 21:51:12 info  
4) 20101214 21:51:27 info  
3) 20101214 21:51:27 info
W tym przypadku byłaby to linia nr 4).

Jak można porównać wyrażenia w różnych liniach?

Dziękuję za odpowiedzi.

: 16 grudnia 2010, 21:16
autor: piter
Jeżeli numery linii składają się ze stałej ilości cyfr (w Twoim przykładzie są to numery jednocyfrowe) można zrobić tak:

Kod: Zaznacz cały

sort -g plik.txt|uniq -w 1 -u

: 17 grudnia 2010, 00:18
autor: panel
Bardzo dziękuję! - właśnie tego szukałem od trzech dni :) .

____________________
Działa nawet jeśli ustawię uniq -w 3 -u chociaż mam liczby jedno-, dwu- i trzycyfrowe.
Wydaje się że o ile drugi i trzeci znak nie jest liczbą to jest ignorowany.

: 17 grudnia 2010, 10:23
autor: piter
Drugi i trzeci znak nie jest ignorowany. Jest po prostu dla jednocyfrowego numeru linii zawsze taki sam - nawias + spacja.