in reply to Re: perl one liner for csv file one field
in thread perl one liner for csv file one field

the following one-liner:

perl -nlaF/,/ -e 'length($F[10]) < 7 and print' test.csv

Is parsing csv with a split not a crime in the same category as parsing html with regexes?

After all the fields might contain escaped delimiters...

Here another attempt using Text::CSV_XS that processes the file line-by-line (Tux's solution slurps with my not be good for very large files):

perl -MText::CSV_XS=csv -ne 'print if length(csv(in => \$_)->[0]->[10]) > 6'

Replies are listed 'Best First'.
Re^3: perl one liner for csv file one field
by Tux (Canon) on Jan 18, 2015 at 11:24 UTC

    The new filter option filters on read, so large files are no problem. I like your approach, but it will FAIL on lines with embedded newlines, as the next csv iteration will not continue from the previous.


    Enjoy, Have FUN! H.Merijn