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.
In reply to Re: perl one liner for csv file one field
by eyepopslikeamosquito
in thread perl one liner for csv file one field
by MrTEE
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |