>Вот, порадуй преподавателя: Ндамс... Ну, теперь, когда мы школяру неинтересны, расскажите пожалуйста,
>$ dmesg > file.txt
>$ f=`cat file.txt`
а файл >128К? а >1M? а с символами $, !, <, > и т.п.??
>;for i in {a..z}
Гм, богато... Спасибо! ...man bash -- каждый раз что-то новое |)
>;do q=`
Аналогично, если слов >N={128k,1M,...}, то каменный цветок не пролезет?
>echo \ $f
>|sed 's! ['$i${i^^}'][^ ]*!^!g;s![^^]!!g'`;echo
${i^^} - это на каком шеле? и "предупреждать надо"(тм)
Меня б "sed -i" спас :), но я б с самого начала по-другому сделал.
>$i: ${#q}; done
>a: 175
Маловато и медленновато будет!
Если без "нулей", то
$ pwd
/usr/share/doc/exim4
$ ls -l spec.txt.gz
-rw-r--r-- 1 root root 414956 2006-07-31 18:19 spec.txt.gz
$ zcat spec.txt.gz|head|grep evisio
|Revision 4.63 |27 July 2006 |PH |
$ time zcat spec.txt.gz |wc -c
1435340
real 0m0.066s
user 0m0.040s
sys 0m0.024s
$ time ( zcat spec.txt.gz |egrep -o "[a-z][^ ]+"|egrep -o "^[a-z]"|tr [:upper:] [:lower:]|sort|uniq -c|sort -k2 )
64605 a
11846 b
30114 c
36166 d
124868 e
21642 f
15230 g
39851 h
72815 i
507 j
3668 k
35602 l
24757 m
63988 n
66860 o
21156 p
1722 q
58303 r
75325 s
86732 t
25755 u
8803 v
9243 w
5696 x
12582 y
569 z
real 0m16.397s
user 0m15.517s
sys 0m0.816s
$ _
Чего-то моментальненько...
Ждём варианта на %) перле -- в три раза короче и в 10 раз быстрее. |-) С бенчмарками!!
PS: И да, что-то подсказывает %)))) мне, что c "двумя grep-ами" что-то $) не так...