tac / grep Solução
tac file | grep whatever
Ou um pouco mais eficaz:
grep whatever < <(tac file)
Tempo com um arquivo de 500 MB:
real 0m1.225s
user 0m1.164s
sys 0m0.516s
Solução sed / grep :
sed '1!G;h;$!d' | grep whatever
Tempo com um arquivo de 500 MB: interrompido após mais de 10 minutos.
Soluçãoawk / grep :
awk '{x[NR]=$0}END{while (NR) print x[NR--]}' file | grep whatever
Tempo com um arquivo de 500 MB:
real 0m5.626s
user 0m4.964s
sys 0m1.420s
perl / grep Solução:
perl -e 'print reverse <>' file | grep whatever
Tempo com um arquivo de 500 MB:
real 0m3.551s
user 0m3.104s
sys 0m1.036s