|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Valentin Davydov 2:5020/400 22 Nov 2006 11:18:30 To : Andrey Zonov Subject : Re: нарезать логи -------------------------------------------------------------------------------- > From: Andrey Zonov <Andrey.Zonov@p28.f830.n5020.z2.fidonet.org> > Date: Tue, 21 Nov 2006 21:42:56 +0300 > > AZ>> Помогите нарезать логи по часам. > AZ>> формат лога: > AZ>> 00:00 2006-10-01 > AZ>> <some> > AZ>> 00:01 2006-10-01 > AZ>> <some> > AZ>> ... > > EG> Если однократно, то легко так: > > EG> awk '/^..:.. ....-..-..$/ {hour=$1; sub(/:.*/,"",hour); fname=$2 "-" > EG> hour;} > {print>>> fname;}' > >Спасибо оно, только вот awk зараза вылетает > >[root@dotnet /tmp/1/2006-09]# awk '/^..:.. ....-..-..$/ {hour=$1; >sub(/:.*/,"",hour); fname=$2 "-" hour;} {print>>fname;}' stat_dvb0.2006-09-01 >awk: 2006-09-01-17 makes too many open files > input record number 3811, file stat_dvb0.2006-09-01 > source line number 1 > >а вот гнутый (он же) - бес проблем парсанул 25 метровый файл. Hу так ты не первый, кто попал на кривизну этого новомодного авка. В принципе, можно после каждой print>>fname говорить close(), если некоторая потеря производительности не критична. Вал. Дав. P.S. Редиски, зря испохабили хорошую утилиту. --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/657775a3e026.html, оценка из 5, голосов 10
|