Может кому будет интересно, простые выборки из огромного файла на 13 млн. строк:
valet@valet-comp:~/Documents/all$ wc -l all
13107193 all
valet@valet-comp:~/Documents/all$ time awk '/foo/ { print }' all > /dev/null
real 0m16.518s
user 0m16.381s
sys 0m0.128s
valet@valet-comp:~/Documents/all$ time sed -n '/foo/p' all > /dev/null
real 0m2.959s
user 0m2.888s
sys 0m0.064s
valet@valet-comp:~/Documents/all$ time grep 'foo' all > /dev/null
real 0m0.872s
user 0m0.788s
sys 0m0.080s
valet@valet-comp:~/Documents/all$ time perl -ne 'print if /foo/' all > /dev/null
real 0m3.303s
user 0m3.260s
sys 0m0.036s
valet@valet-comp:~/Documents/all$ time grep 'foo' all > /dev/null
real 0m0.878s
user 0m0.800s
sys 0m0.076s
valet@valet-comp:~/Documents/all$ time perl -ne 'print if /foo/' all > /dev/null
real 0m3.284s
user 0m3.180s
sys 0m0.100sПо получается такой топ по скорости:
1. grep
2. sed
3. perl
4. awk
Честно говоря, меня сильно удивили эти тесты (повторял много раз - результаты те же).
1. Почему grep оказался шустрее всех - я думал он наоборот самый медленный - всегда даже старался использовать sed -n для выборок.
2. Как же так получается, что perl медленнее чем sed и grep? Я даже специально повторил несколько раз подряд тесты с grep и perl - так как не поверил свои глазам 
3. awk совсем разочаровал - что он там такое делает что так долго отрабатывает 
Я конечно понимаю, что сравнение этих инструментов может не совсем корректное, так как они могут выполнять разный по сложности функционал, но вот на таких простых выборках с огромного файла результаты именно такие.
