![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Forum Rules | FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here. |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Replace 3 fields with null in the file | vukkusila | Shell Programming and Scripting | 1 | 09-11-2007 10:10 PM |
| How can find Null value in If condition | koti_rama | Shell Programming and Scripting | 2 | 07-17-2007 02:20 AM |
| Find fields with no spaces in value | alfredo123 | UNIX for Dummies Questions & Answers | 10 | 04-18-2007 03:14 PM |
| Find files which contain a null character | Bab00shka | UNIX for Dummies Questions & Answers | 5 | 12-16-2005 07:41 AM |
| mv /dev/null file | raj8 | UNIX for Dummies Questions & Answers | 3 | 07-17-2003 01:36 PM |
|
|
Submit Tools | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
|
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. |
| Forum Sponsor | ||
|
|
|
#2
|
||||
|
||||
|
How do you know that a field is empty? Would there be just two commas following each other? Something like this?
Code:
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... If so, then you can just use the command that you've used. Code:
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
|
|
#3
|
||||
|
||||
|
Try...
Code:
awk -F, '!$14||!$16{printf "Filename:%s Line:%s Data:%s,%s\n", FILENAME, NR, $14, $16}' SPS*
|
||||
| Google The UNIX and Linux Forums |