Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re^2: perl one liner for csv file one field

by morgon (Priest)
on Jan 18, 2015 at 04:58 UTC ( [id://1113631]=note: print w/replies, xml ) Need Help??


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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1113631]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (5)
As of 2024-05-17 02:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found