Witajcie! :-)
Właśnie męczę log z rozmowy(taki ze mnie leń, tak), chciałem go odczytać według własnych upodobań, jednak ów sposób nie działa. Korzystam generalnie z awk, jednak pod gawk dopiero rozwiązanie się pojawi, a to z powodu korzystania z separatora wyjściowego dla rekordu(albo z powodu późnej już godziny). Podział rekordu na pola za pomocą nicku zdaje się zdawać egzamin, jednak w połączeniu z podziałem na rekordy pojawia mi się albo czarna strona, albo też cała zapisana(pełen log).
Plik tekstowy wzięty żywcem ze Skype'a - kopiuj/wklej do notatnika, i na dysk. Format:
[tyg. MM DD RRR HH:MM:SS] nick: tekst wielowierszowy(!)
Datę logu wycinam takim oto wyrażeniem:
\[[ponwtśrczsbiedź]{2,4}\. [stylumarzkwiejcpźg]{2,4} [0-9]{1,2} [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2}\]
Z pewnych względów(mnie nie znanych) grupowanie elementów czasu nie chciało funkcjonować. Generalnie: działa.
Skład polecenia wygląda następująco:
gawk --field-separator "/(nick1)|(nick2): /" 'BEGIN { RS=/wyrażenie/}; {print $2}' ./log
Wynik?
Niestety, poza informacją o sekwencjach ucieczki albo dostaję pusty wynik(przy $2) lub cały log($1).
Słucham :)