I like the idea of using AWK for this.
But you can give kdb/q a try. 250M rows is nothing for kdb,
and it seemed that you can afford the license.
250M records isn't big for a lot of data platforms. I've seen plenty of solutions in traditional RDBMSs that would easily scale an order of magnitude larger than this, if not several.
Moving into anything analytically focused, like an OLAP engine, or just a columnstore in an RDBMS easily gives you another order of magnitude or few.
I suspect if it was open source, it would probably be the most popular big-data storage and computing platform.