in reply to perl one liner for csv file one field
Here is an example input file test.txt:
where the fields are separated by a comma. For example, FOREVER above is the eleventh field. This is just a guess based on your description. Please correct me if this is wrong.D,642,0642,UBF,EVL,,M,,S,S,FOREVER,213,213, D,642,0642,UBF,EVL,,M,,S,S,QSP-U=C,4,4, D,642,0642,UBF,EVL,,M,,S,S,123456,4,4, D,642,0642,UBF,EVL,,M,,S,S,12345,4,4,
Given the above assumption, the following one-liner:
prints to stdout:perl -nlaF/,/ -e 'length($F[10]) < 7 and print' test.txt
i.e. prints out only those lines where the eleventh field is less than seven characters in length.D,642,0642,UBF,EVL,,M,,S,S,123456,4,4, D,642,0642,UBF,EVL,,M,,S,S,12345,4,4,
See perlrun for details of the -a and -F command line switches to perl.
Once you are happy that works and meets the spec. you could add the -i switch to auto-edit the file.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: perl one liner for csv file one field
by morgon (Priest) on Jan 18, 2015 at 04:58 UTC | |
by Tux (Canon) on Jan 18, 2015 at 11:24 UTC |