Re: нарезать логи

From
Andrey Zonov (2:5020/830.28)
To
Eugene Grosbein
Date
2006-11-21T21:42:56Z
Area
RU.UNIX.BSD
Привет, Eugene!

 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 метровый файл.

                                              Успехов!

--- GoldED+/W32 snapshot-2000.12.24
 * Origin: Жизнь - хорошая штука (2:5020/830.28)
SEEN-BY: 46/50 50/12 400/567 814 450/1024 452/25 154 461/48 1313 469/142
SEEN-BY: 2432/260 4600/126 4615/21 4635/1024 5000/5000 5001/100 5002/63 5010/2
SEEN-BY: 5011/13 5012/30 46 5015/28 214 5019/31 5020/400 545 715 760 830 1042
SEEN-BY: 5020/1641 2238 2395 2871 4441 5021/29 44 5023/46 5025/3 9595 5027/12
SEEN-BY: 5028/61 5029/60 5030/115 731 830 901 1080 1957 5033/21 5035/18 38
SEEN-BY: 5036/10 5042/12 21 5045/7 5049/19 164 5050/151 5051/40 5052/4 5054/1
SEEN-BY: 5054/4 8 9 11 28 35 36 37 45 50 63 66 67 70 75 84 85 89 5058/42 999
SEEN-BY: 5059/9 5062/10 5063/3 5064/7 5070/156 5071/22 166 5074/24 5076/1
SEEN-BY: 5077/70 5078/20 5080/111 147 197 237 239 1003 5084/9 61 5085/13 87
SEEN-BY: 5093/4 33 55 5095/20 5096/18 5097/31 303 6001/10 6028/1 6055/2 6070/5
SEEN-BY: 6083/12
PATH: 5020/830 5080/1003 5020/545 5054/1 37