Тарас Перебейносов wrote:
Доброго времени суток!

Нужна помощь в написании скрипта, который будет парсить очень большой лог (> 300 Mb)

Лог выглядит так:

[25/Feb/2011:11:42:57 +0300];X_HudsonAccesToSVN
[25/Feb/2011:11:42:57 +0300];X_HudsonAccesToSVN
[25/Feb/2011:11:42:57 +0300];X_HudsonAccesToSVN
[25/Feb/2011:11:42:57 +0300];X_HudsonAccesToSVN
[25/Feb/2011:11:42:58 +0300];-
[25/Feb/2011:11:43:08 +0300];-
[25/Feb/2011:11:43:08 +0300];-
[25/Feb/2011:11:43:09 +0300];-
[25/Feb/2011:11:43:09 +0300];Trofimov
[25/Feb/2011:11:43:19 +0300];-

На выходе нужно получить файл, в котором будет содержаться:
25/Feb/2011;X_HudsonAccesToSVN
25/Feb/2011;Trofimov

Т.е. нужно получить список юзеров за каждый день, без повторений и пустых юзеров (-).
Лог реально большой, и это тоже надо учесть.

Я пока только начинаю писать скрипты на bash, пока не особо умею пользоваться awk и иже с ними, поэтому буду благодарен любым советам и подсказкам


$ awk -F ";" '!/\[.*\];-$/{print $2}' <filename> | sort -u





--
ubuntu-ru mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru

Дати відповідь електронним листом