Find null fields in file

Hi All,

I have some csv files out of which i want to find records which have empty values in either the 14th or 16th fields.

The following is a sample.

$cut -d',' -f14,16 SPS* | head -5
VOIP_ORIG_INFO,VOIP_DEST_INFO
sip:445600709315@sip.com,sip:999@sip.com
sip:445600709315@sip.com,tel:999
sip:445600702897@sip.com,sip:08007317929@sip.com
sip:445600702897@sip.com,sip:08007317929@sip.com

Please let me know, what would be the filter criteria to find records and filename where these fields are empty.

Thanks,
Ashish.

How do you know that a field is empty? Would there be just two commas following each other? Something like this?

1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17...
1,2,3,4,5,6,7,8,9,10,11,12,13,,15,16,17...
1,2,3,4,5,6,7,8,9,10,11,12,13,,15,,17...

Note that the fourteenth field is empty in the second and the third line, while the sixteenth field is empty in the third line.
If so, then you can just use the command that you've used.

bash-3.00$ cat test
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
1,2,3,4,5,6,7,8,9,10,11,12,13,,15,16,17
1,2,3,4,5,6,7,8,9,10,11,12,13,,15,,17
bash-3.00$ cat test.sh
#!/usr/bin/ksh
oldIFS=$IFS
IFS=$IFS,
export IFS
cut -d',' -f14,16 test|while read fourteen sixteen; do
        echo fourteen: $fourteen sixteen: $sixteen
        [[ -z "$fourteen" ]] && echo fourteenth field is blank
        [[ -z "$sixteen" ]] && echo sixteenth field is blank
done

Try...

awk -F, '!$14||!$16{printf "Filename:%s Line:%s Data:%s,%s\n", FILENAME, NR, $14, $16}' SPS*