> те грубо говоря сделал: tac file и читаю его до первого совпадения
> слова XXX, после чего файл закрывается.А теперь давайте перепишем это предложение на шелле:
tac file | grep -m 1 XXX
Это если нужна только совпадающая строка. А если нужны все строки от совпадающей до конца:
tac file | perl -ne 'print; exit 0 if m/XXX/;'
Ну или вместо перла свой любимый скриптовый язык.
Можно в конце ещё добавить "| tac", чтобы вернуть строки к нормальному порядку, но тогда рискуете получить подвисание, если XXX нет (или очень далеко от конца) в гигабайтном файле.