Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Check for not null column in a pipe delimited file Post 302974890 by Don Cragun on Sunday 5th of June 2016 03:57:45 PM
Old 06-05-2016
Quote:
Originally Posted by stomp
Hi,

Something like this:

Code:
awk -F'|' '{ 
   if( $3=="" || $5=="" || $7=="" || $8=="" ) 
         if ( $3=="" ) { print "Line ",NR, " Field 3: Mandatory field is null"; }
         if ( $5=="" ) { print "Line ",NR, " Field 5: Mandatory field is null"; }
         # ...
   else  
         do_something ; 
}' yourfile.txt

I think you're missing a pair a braces:
Code:
awk -F'|' '{ 
   if( $3=="" || $5=="" || $7=="" || $8=="" ) {
         if ( $3=="" ) { print "Line ",NR, " Field 3: Mandatory field is null"; }
         if ( $5=="" ) { print "Line ",NR, " Field 5: Mandatory field is null"; }
         # ...
   } else  
         do_something ; 
}' yourfile.txt

Without them, your code will execute the else clause only if the last last field tested is an empty string and, if the 1st if test does not find any empty strings, the remaining if tests will never succeed either:
Code:
awk -F'|' '{ 
   if( $3=="" || $5=="" || $7=="" || $8=="" ) { 
         if ( $3=="" ) { print "Line ",NR, " Field 3: Mandatory field is null"; }
   }
   if ( $5=="" ) { { print "Line ",NR, " Field 5: Mandatory field is null"; }
   # ...
   } else  
         do_something ; 
}' yourfile.txt

And, of course, if do_something; is more than one statement, you'll also needed braces around all statements in the else clause. The braces around your print statements don't hurt anything, but aren't strictly required since only one statement is being executed in those if then clauses.
This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep for NULL in a pipe delimited file

hi, How can I check for a field in a pipe-delimited file having a NULL value in Unix using a grep command or any other command. Please reply (5 Replies)
Discussion started by: sureshg_sampat
5 Replies

2. Shell Programming and Scripting

How to check Null values in a file column by column if columns are Not NULLs

Hi All, I have a table with 10 columns. Some columns(2nd,4th,5th,7th,8th and 10th) are Not Null columns. I'll get a tab-delimited file and want to check col by col and generate seperate error code for each col eg:102 if 2nd col value is NULL and 104 if 4th col value is NULL so on... I am a... (7 Replies)
Discussion started by: Mandab
7 Replies

3. UNIX for Dummies Questions & Answers

Need help with shell script for chekking a column in txt file - pipe delimited

Hi: I have a text file date(pipe delimited) which is loaded in to the DB using sql loader(&CTL files) after some initial validation by the shell script. Now i have a situation where the shell script needs to check a column in the text file and if it is NULL then it needs send this record/row... (12 Replies)
Discussion started by: ravi0435
12 Replies

4. Shell Programming and Scripting

count of null in pipe delimited txt file

Hi, I have a pipe delimited txt file which contains 17 fields per line/row. 16th field contains email id. I want to count the number of lines/rows that contains null in the 16th field. Plz find attached example data file. I'm looking for a command line/script which achieves this. ... (5 Replies)
Discussion started by: Sriranga
5 Replies

5. UNIX for Advanced & Expert Users

Check Whether File is Pipe Delimited

Can anybody help me how to check whether a file is Pipe delimited or not? (1 Reply)
Discussion started by: Allwin333
1 Replies

6. Homework & Coursework Questions

how to show particular column from pipe delimited file

hi, I have pipe delimited flat file as below 1|ab|4.5|9| 2|ac|3|12| 3|ac|4.5|8| i want to show (display) only 3rd field between pipes. please help (1 Reply)
Discussion started by: vai15517
1 Replies

7. Shell Programming and Scripting

Find for line with not null values at nth place in pipe delimited file

Hi, I am trying to find the lines in a pipe delimited file where 11th column has not null values. Any help is appreciated. Need help asap please. thanks in advance. (3 Replies)
Discussion started by: manikms
3 Replies

8. Shell Programming and Scripting

Replace pipe delimited column string to null

Hi All, I have a large dat file where each lines are pipe delimited values. I need to parse the file depending on the request. For example: sometimes I have told to remove all the values in the 7th column (this case remove values '3333' only from the first line and '3543' from the second line)... (4 Replies)
Discussion started by: express14
4 Replies

9. Shell Programming and Scripting

Replacing a column in a pipe delimited file

Hi, I have a pipe delimited file as below and I need to replace the 2nd column of each line with null values. 1|10/15/2011|fname1|lname1 2|10/15/2012|fname2|lname2 3|10/15/2013|fname3|lname3 Output file: 1||fname1|lname1 2||fname2|lname2 3||fname3|lname3 I tried this ... (2 Replies)
Discussion started by: member2014
2 Replies

10. Shell Programming and Scripting

Replace delimiter for a particular column in a pipe delimited file

I have an input file as below Emp1|FirstName|MiddleName|LastName|Address|Pincode|PhoneNumber 1234|FirstName1|MiddleName2|LastName3| Add1 || ADD2|123|000000000 Output : 1234|FirstName1|MiddleName2|LastName3| Add1 ,, ADD2|123|000000000 OR 1234,FirstName1,MiddleName2,LastName3, Add1 ||... (2 Replies)
Discussion started by: styris
2 Replies
All times are GMT -4. The time now is 01:42 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy