cutcsv
CSV is a file format with... issues. Lots of issues. One of the most
annoying — for me at least — is that it breaks the standard Unix cut
command, which is otherwise a tool that I use every day.
If you run cut on a CSV and pass in , as a delimiter, it often just
works. But if you've got quoted fields that contain commas, or if you've
got fields that continue onto multiple lines, things get screwy fast.
For the few times that you need to extract fields from such a file,
cutcsv should have your back.
Installation
cutcsv can be installed via RubyGems:
$ gem install cutcsv
Usage
Like standard cut, cutcsv accepts input either from standard input or
from a named list of files. So, you can do:
some-command | cutcsv -f 1,3
...or you can do:
cutcsv -f 1,3 some-file.csv
The -f argument is exactly like standard cut. You can pass in just
one field (like -f 4), a comma separated list of fields (like -f 1,3,5), ranges of fields (like -f 1-10), or all of these things (like
1-3,5,7,9-11,20).