Getting data from a flat file based on condition


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Getting data from a flat file based on condition
# 22  
Old 01-28-2014
Quote:
Originally Posted by Vivekit82
No Mail..Failed..We should get a mail in this case.
I think we need some actual sample data. We're just assuming our code works with your data correctly but we don't actually know that.
# 23  
Old 01-28-2014
Note that you have to set the FS to a comma:
Code:
awk -F, '{..}'

This User Gave Thanks to Franklin52 For This Post:
# 24  
Old 01-28-2014
Actual data is somwething like below:

Code:
 
Case 1:Mail should come
Report
,,,,,,,Report generating
Column 1,column 2,column 3,column 4,column 5,column 6,column 7
1,2,3,4,5,0,0
1,3,5,6,7,1,1
1,3,5,7,8,123,432
 
Case 2:Mail should not come
Report
,,,,,,,Report generating
Column 1,column 2,column 3,column 4,column 5,column 6,column 7
1,2,2,23,5,0,0
1,6,4,6,7,0,0
1,8,5,1,8,0,0
 
Case3: Mail should come
Report
,,,,,,,Report generating
Column 1,column 2,column 3,column 4,column 5,column 6,column 7
1,2,3,4,5,0,0
1,3,5,6,7,1,1
1,3,5,7,8,0,0

# 25  
Old 01-28-2014
Works for me when I remember to set -F,

Code:
$ awk -F, '{ T += $6 + $7 } END { exit(!T) }' mail1 ; echo $?
0
$ awk -F, '{ T += $6 + $7 } END { exit(!T) }' mail2 ; echo $?
0
$ awk -F, '{ T += $6 + $7 } END { exit(!T) }' nomail1 ; echo $?
1
$

# 26  
Old 01-28-2014
This is what it is writing when i am running in debug mode.
In this case both cloumns 6 and 7are 0 in all the rows.

Code:
 
+ awk -F, '{ T += $6 + $7 } END { exit(!T) }' /home/home01/file.csv
+ sendmail -t
+ awk -F, $'\nBEGIN{\n c=split("1,2,3,4,5,6,7", col)\n print "To: abc@gmail.com"\n print "Subject: REPORT"\n print "MIME-Version: 1.0"\n print "Content-Type: text/html"\n print "Content-Disposition: inline\\n"\n print "<HTML><TABLE border=1>"\n print "<TH>Column1</TH><TH>Column2</TH><TH>Column3</TH>"\n print "<TH>Column4</TH><TH>Column5</TH>"\n print "<TH>Column6</TH><TH>Column7</TH><TH>"\n}\nNR>4 {\n printf "<TR>"\n for(i=1;i<=c;i++) printf "<TD>%s</TD>", $col[i]\n print "</TR>"\n}\nEND{\n  print "</TABLE></BODY></HTML>"\n} ' /home/home01/file.csv

# 27  
Old 01-28-2014
It works fine here. Post your actual, real data, as an attachment if you can. We won't be able to tell why it's not working without it.
This User Gave Thanks to Corona688 For This Post:
# 28  
Old 01-28-2014
Thanks a lot..It worked....
last question..if instead of 0 column value is either 0 or 0.00 then what should be the logic.
Please guide.

Last edited by Vivekit82; 01-28-2014 at 05:35 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Adding data from a file based on some condition

I collect data in a file in below format(Month Day Year Size) in RedHat Linux. Now i want to calculate the data size date wise. As i code shell script after long time, i forgot the features and syntax. Can anyone help me regard this please. Feb 8 2014 15 Feb 10 2014 32 Feb 10 2014 32 Feb 12... (2 Replies)
Discussion started by: makauser
2 Replies

2. Shell Programming and Scripting

Dynamically prepare the condition using flat file sdata

I have a file in which the data looks like A,B My output should be T1.A=T2.A AND T1.B=T2.B If my input is A,B,C My output should be T1.A=T2.A AND T1.B=T2.B AND T1.C=T2.C Currently I am automating my databae script and strucked with this part.Not able to search the... (2 Replies)
Discussion started by: bikky6
2 Replies

3. Shell Programming and Scripting

Sort based on positions in flat file

Hello, For example: 12........6789101112..............20212223242526..................50 ( Positions) LName FName DOB (Lastname starts from 1 to 6 , FName from 8 to 15 and date of birth from 21 to29) CURTIS KENNETH ... (5 Replies)
Discussion started by: duplicate
5 Replies

4. UNIX for Dummies Questions & Answers

Deleting the unwanted data based on condition

hi i have my input data like this aaa bbb ccc asa dff nmj mnj saa dff oik aax cdx saa oik asq sdf dssi want my output file to be like this mnj saa dff oik aax cdx saa oiki want to retain only those lines which will have oik just below them and i want oik to be as next column to those... (1 Reply)
Discussion started by: anurupa777
1 Replies

5. Shell Programming and Scripting

To read a flat file containing XML data

I have a file something like this:aaaa.xml content of the file is 0,<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <storeInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <s> <BRANCH_NO>3061</BRANCH_NO> <BRANCH_NAME>GREEN EXPRESS</BRANCH_NAME> ... (4 Replies)
Discussion started by: kmanivan82
4 Replies

6. UNIX for Dummies Questions & Answers

Normalize Data and write to a flat file

All, Can anyone please help me with the below scenario. I have a Flat file of the below format. ID|Name|Level|Type|Zip|MAD|Risk|Band|Salesl|Dealer|CID|AType|CValue|LV|HV|DCode|TR|DU|NStartDate|UserRole|WFlag|EOption|PName|NActivationDate|Os|Orig|Cus|OType|ORequired|DType 03|... (10 Replies)
Discussion started by: sp999
10 Replies

7. Shell Programming and Scripting

Load data from a flat file to oracle.

I have a flat file with records like Header 123 James Williams Finance2000 124 Pete Pete HR 1500 125 PatrickHeather Engg 3000 Footer The structure is: Eno:4 characters Name:8 characters Surname : 9 characters Dept:7 characters Sal:4characters These are sample... (1 Reply)
Discussion started by: Shivdatta
1 Replies

8. Shell Programming and Scripting

Shell script to email based on flat file output

Hi All, I am a newbee in unix but still have written a shell script which should trigger a mail based on certain conditions but the problem is that my file is not being read. Below is the code please advise. I do not know where is it failing. Note $ and the no followed with it is the no of... (1 Reply)
Discussion started by: apoorva
1 Replies

9. Shell Programming and Scripting

Merge lines in Flat file based on first 5 characters

Hi I have the fixed width flat file having the following data 12345aaaaaaaaaabbbbbbbbbb 12365sssssssssscccccccccc 12365sssss 12367ddddddddddvvvvvvvvvv 12367 vvvvv Here the first column is length 5 second is length 10 third is length 10 if the second or third column exceeds... (3 Replies)
Discussion started by: Brado
3 Replies

10. Shell Programming and Scripting

Sorting a flat file based on multiple colums(using character position)

Hi, I have an urgent task here. I am required to sort a flat file based on multiple columns which are based on the character position in that line. I am restricted to use the character position instead of the space and sort +1 +2 etc to do the sorting. I understand that there is a previous... (8 Replies)
Discussion started by: cucubird
8 Replies
Login or Register to Ask a Question