I don't think I understand the question. Are you actually asking how to read from a terabyte flat file, or are you asking how to process a terabyte of sequential data? They are two (related) but distinct questions.
The parsing should be simple. Lex and/or Yacc should handle very large files. If not, you can always write something by hand, once again sticking to the store-nothing principle.
I would think about it as a fold operation (http://en.wikipedia.org/wiki/Fold_%28higher-order_function%2...) over the lines in the file, where the parser state and any aggregate calculated values are stored in the accumulator, and each new line is considered in conjunction with the current state and the previous calculated values.