Validate csv file

 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Validate csv file
# 8  
Old 04-25-2016
Hi RudiC,
This below code i am using as part of a script ,now how can i use this nf value for further processing.

Code:
awk -F'"' '         {nf += gsub(/,/, ",") + 1          for(i = 2; i <= NF; i += 2)          nf -= gsub(/,/, ",", $i)         } END     {printf("result:%d\n", nf)         } ' file result:12

Code:
if [ 'expr $nf  % 19 ' -gt 0]
then 
  'echo "file is invalid"
please suggest.!

Moderator's Comments:
Mod Comment Please use code tags, not code tags for lines of code. And use code tags for all code and data samples


---------- Post updated 04-25-16 at 12:18 AM ---------- Previous update was 04-24-16 at 11:58 PM ----------

apologies..Don..i will take care .

Last edited by Scrutinizer; 04-25-2016 at 02:06 AM.. Reason: Added code tags, changed icode tags to code tags
# 9  
Old 04-25-2016
First: You can't remove all of the carriage-return characters from an awk script to make a one-liner and get a working awk script.

Second: Please start a new thread for a new problem. You have now changed your requirements three times in four posts.

Third: You can't access awk variables after the awk script exits.

Fourth: What is your script doing? Why not just have the awk script use the variables that are available in the awk script to produce your additional output? For example:
Code:
awk -F'"' '
	{nf += gsub(/,/, ",") + 1
	 for(i = 2; i <= NF; i += 2)
	 nf -= gsub(/,/, ",", $i)
	}
END	{printf("result:%d\n", nf)
	 if(nf % 19)
		print FILENAME, "is invalid"
	}' file

# 10  
Old 04-25-2016
And, to add to all the right points the venerable Don already made:

Quote:
Originally Posted by harry123
Code:
if [ 'expr $nf  % 19 ' -gt 0]
then 
  'echo "file is invalid"
please suggest.!

This is simply a (bunch of) syntax error(s):

Fifth: The single quote in:
Code:
  'echo "file is invalid"

is not closed.

Sixth: This:
Code:
if [ 'expr $nf  % 19 ' -gt 0]

misses a space near the end, like this: ...-gt 0 ].

Seventh: The comparison of a string value ('expr $nf % 19 ' is a literal string) with an integer (-gt 0 is an integer comparison) will never work.

I hope this helps.

bakunin
# 11  
Old 04-25-2016
Quote:
Originally Posted by harry123
.
.
.
how can i use this nf value for further processing.
.
.
.
Once the awk script runs error free, assign its result (which is printed to stdin) to a shell variable using "command substitution":

Code:
RES=$(awk '...' ...)

Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script to validate header in a csv file

Hi All; I am struggling to write a script that validates file header. Header file would be like below with TAB separated TRX # TYPE REF # Source Piece Code Destination Piece Code every time I need to check the txt file if the header was same as above fields if validation success... (6 Replies)
Discussion started by: heye18
6 Replies

2. Shell Programming and Scripting

Script to ingest a csv, validate data and insert into Oracle

Hi all i would appreciate your help... I am looking for a set of unix commands which i can use to 1) ingest a csv file with a known format 2) validate the filename 3) validate the data/datatypes 4) Insert into an oracle db Can you help get me started? yogz888 (1 Reply)
Discussion started by: yogz888
1 Replies

3. Shell Programming and Scripting

Save output of updated csv file as csv file itself, part 2

Hi, I have another problem. I want to sort another csv file by the first field. result.csv SourceFile,Airspeed,GPSLatitude,GPSLongitude,Temperature,Pressure,Altitude,Roll,Pitch,Yaw /home/intannf/foto5/2015_0313_090651_219.JPG,0.,-7.77223,110.37310,30.75,996.46,148.75,180.94,182.00,63.92 ... (2 Replies)
Discussion started by: refrain
2 Replies

4. Shell Programming and Scripting

Compare 2 files of csv file and match column data and create a new csv file of them

Hi, I am newbie in shell script. I need your help to solve my problem. Firstly, I have 2 files of csv and i want to compare of the contents then the output will be written in a new csv file. File1: SourceFile,DateTimeOriginal /home/intannf/foto/IMG_0713.JPG,2015:02:17 11:14:07... (8 Replies)
Discussion started by: refrain
8 Replies

5. Shell Programming and Scripting

How to: Validate a CSV file using an XSD?

Hi All, I was wondering if there is a utility/perl library/way of validating the contents of a CSV file using an XSD. i.e. Customer csv (including Header & Trailer) Cust_num, Cust_nme, Cust_typ, Cust_act_dte, Cust_loc, 101,Joe's Pizza,Retail,10121979,Detroit, 102,Sony... (6 Replies)
Discussion started by: luinzi
6 Replies

6. Shell Programming and Scripting

Validate the file

How do we validate the header file. The file number should increament by 1 (position 17 to 19) if not abend the process. first week ABC0001 20100101123 second week ABC0001 20100108124 Third week ABC0001 20100115125 (7 Replies)
Discussion started by: zooby
7 Replies

7. Shell Programming and Scripting

validate against a file

Hello all, I am having problem in writing a if condition for the following: I have a file Instance.dat which has: #Server Environment server1 dev server2 dev server3 sit #!/bin/ksh ENV=dev for i in $( cat Instances.dat | grep -v '#' |awk {'print $2'} ) do if ]... (7 Replies)
Discussion started by: chiru_h
7 Replies

8. Shell Programming and Scripting

How to validate a CSV file?

Hi. I think some people have already asked this, but the answers/questions seem to be about validating the contents inside a CSV file. I am simply after a simple variable solution (ie 0 = false, 1 = true) that I can use in my script to say that file so-and-so is actually a CSV file, or in some... (4 Replies)
Discussion started by: ElCaito
4 Replies

9. Shell Programming and Scripting

validate csv file load

Hi All, I am using sqlldr to load my csv files into the database. The code in the sh script is as follows. sqlldr ${DBUSER}/${DBPASS}@${ORACLE_SID} \ data=myCSV.data \ bad=myCSV.bad \ control=myCSV.ctl \ ... (0 Replies)
Discussion started by: rahulrathod
0 Replies
Login or Register to Ask a Question