Command line CSV viewer with column-alignment for LARGE files
I would like to view my CSV files in a column-aligned format from the command line, with something like less
, but my CSV files are sometimes gigabytes big, and I'm using a little computer (Netbook, 1GB RAM, 8GB HD, 1GHz processor), so I don't want to waste a lot of memory or processing power viewing the file.
I mention that I'd like to use something like less
because I would like to be able to navigate around within the file.
cat FILE | column -s, -t | less
is one thought, but cat
is still going to try to print the whole file and I'm not sure how much buffering the pipes will use (if any) or what sort of caching less
employs.
This question is similar to this other question, but I'm specifically interested in viewing large files using minimal resources preferably already on the machine. I don't presently use VI or EMACS, and think they'd both be overkill here. VI, for instance, would be a 27MB install for a utility acting merely as a viewer.
First of all, less
can open oversized files. Second, both vim
(which I use with the Largefile
plugin and with files over 8 GB) and emacs
can do it.
But... Most of the time, viewing a big file in a 80x40 (or a bit bigger) terminal is useless... so you should filter it with something like (f)grep
or process it with awk
. If you want only the start or end, then there are head
and tail
.
HTH
Check the tail \ head commands.
Or even better, Download VIM source and compile it. That should be easy enough. Version 5.8 source is 1Mb before decompressing (4MB after). Enjoy.
精彩评论