Интересные вещи творятся в GNU grep 2.5.4. С мест сообщают - grep -o - тормозит как неизвестно что.
Поэтому надо писать так:
А желающие могут сравнить:
Поэтому надо писать так:
gawk '{match($0, "REGEXP") ; if (RSTART) print substr($0, RSTART, RLENGTH);}'
А желающие могут сравнить:
#!/bin/sh for x in {1..10000} ; do echo {a..z} @where=gdetotam@ {a..z}{a..z} ; done > tmp.txt export LC_ALL=C time cat tmp.txt | grep -o "@where=[^@]\+@" > /dev/null #медленно, 2 секунды time cat tmp.txt | grep "@where=[^@]\+@" > /dev/null #быстро, 0.1 секунды time cat tmp.txt | awk '{match($0, "@where=[^@]+[@]") ; if (RSTART) print substr($0, RSTART, RLENGTH);}' > /dev/nullНа моём Cygwin с grep 2.5.1 - всё ОК.
Комментариев нет:
Отправить комментарий