[bash]Usuwanie określonych datą linii
: 15 sie 2009, 11:48
Witam
mam plik tekstowy w formacieLiczba to data dodania danej linii (date +%s)
I teraz chciałbym z tego pliku usunąć wszystkie linie, po których dodano następną linię w okresie nie większym niż 30s. Czyli na przykład:Czy dałoby się to zrobić sed'em / awk? Jeśli tak - w jaki sposób? Jeśli nie - jak inaczej?
mam plik tekstowy w formacie
Kod: Zaznacz cały
1250273109:jakis tekst
1250285358:jakis inny tekst
...
1250325757:tego jest naprawde duzo
I teraz chciałbym z tego pliku usunąć wszystkie linie, po których dodano następną linię w okresie nie większym niż 30s. Czyli na przykład:
Kod: Zaznacz cały
1250273109:jakis tekst
1250285138:poprzednia linia idzie do usuniecia bo 1250285138 - 1250273109 = 29s <= 30s
1250285148:poprzednia linia też jest usuwana bo 1250285148 - 1250285138 = 10s <= 30s
1250285194:poprzednia linia nie jest usuwana bo 1250285194 - 1250285148 = 46s >= 30s
1250285199:poprzednia linia jest usuwana (5s)
1250285300:ta wyzej juz nie ta juz nie
1250285600:i tak dalej
...
1250325757:tego jest naprawde duzo