01-02-2009
problem with headers
Hi all:
HDR|ABCD|10-13-2008 to 10-19-2008.txt|10-19-2008|XYZ
DTL|H|5464-1|0|02-02-2008|02-03-2008||||F|||||||||
DTL|D|5464-1|1|02-02-2008|02-03-2008|1||JJJ
DTL|D|5464-1|2|02-02-2008|02-03-2008|1||JJJ
DTL|D|5464-1|3|02-02-2008|02-03-2008|1||JJJ
DTL|D|5464-1|4|02-02-2008|02-03-2008|1||JJJ
TRL|ABCD|10-13-2008 to 10-19-2008.Txt|10-19-2008|170|XYZ
For the above text data my earlier question was how do i check if the 8th column is Null or not, if it is NULL then throw all the records with NULL to another new file and here is the command.
nawk -F'|' '$8 == "" ' myPipeFile >nullFile.txt
With the Above command all the headers(2nd column=H) show up as in the new file as they always have 8th column as NULL.
Now for the similar text file if i have data as following:
HDR|ABCD|10-13-2008 to 10-19-2008.txt|10-19-2008|XYZ
DTL|H|5464-1|0|02-02-2008|02-03-2008||||F|||||||||
DTL|D|5464-1|1|02-02-2008|02-03-2008|1||JJJ
DTL|D|5464-1|2|02-02-2008|02-03-2008|1||JJJ
DTL|D|5464-1|3|02-02-2008|02-03-2008|1||JJJ
DTL|D|5464-1|4|02-02-2008|02-03-2008|1||JJJ
DTL|H|7032-1|0|02-02-2008|02-03-2008||||F|||||||||
DTL|D|7032-1|1|02-02-2008|02-03-2008|1|M|yyy
DTL|D|7032-1|2|02-02-2008|02-03-2008|1|M|yyy
DTL|D|7032-1|3|02-02-2008|02-03-2008|1|N|yyy
DTL|D|7032-1|4|02-02-2008|02-03-2008|1|N|yyy
DTL|H|9999-1|0|02-02-2008|02-03-2008||||F|||||||||
DTL|D|9999-1|1|02-02-2008|02-03-2008|1|N|zzz
DTL|D|9999-1|2|02-02-2008|02-03-2008|1|N|zzz
TRL|ABCD|10-13-2008 to 10-19-2008.Txt|10-19-2008|170|XYZ
With the OLD COMMAND the Output is:
HDR|ABCD|10-13-2008 to 10-19-2008.txt|10-19-2008|XYZ
DTL|H|5464-1|0|02-02-2008|02-03-2008||||F|||||||||
DTL|D|5464-1|1|02-02-2008|02-03-2008|1||JJJ
DTL|D|5464-1|2|02-02-2008|02-03-2008|1||JJJ
DTL|D|5464-1|3|02-02-2008|02-03-2008|1||JJJ
DTL|D|5464-1|4|02-02-2008|02-03-2008|1||JJJ
DTL|H|7032-1|0|02-02-2008|02-03-2008||||F|||||||||
DTL|H|9999-1|0|02-02-2008|02-03-2008||||F|||||||||
TRL|ABCD|10-13-2008 to 10-19-2008.Txt|10-19-2008|170|XYZ
The Output needed is:
HDR|ABCD|10-13-2008 to 10-19-2008.txt|10-19-2008|XYZ
DTL|H|5464-1|0|02-02-2008|02-03-2008||||F|||||||||
DTL|D|5464-1|1|02-02-2008|02-03-2008|1||JJJ
DTL|D|5464-1|2|02-02-2008|02-03-2008|1||JJJ
DTL|D|5464-1|3|02-02-2008|02-03-2008|1||JJJ
DTL|D|5464-1|4|02-02-2008|02-03-2008|1||JJJ
TRL|ABCD|10-13-2008 to 10-19-2008.Txt|10-19-2008|170|XYZ
Basically what i mean to say is the DETAIL records with NULL 8th column and their corresponding header shud appear in new file.
The new file shud have records which has 8th columns as NULL - Detail records (2nd column D = Detail) and their corresponding headers and not the headers for other records.In the above example the following is what i dont need..they show up because their 8th column is NULL.
DTL|H|7032-1|0|02-02-2008|02-03-2008||||F|||||||||
DTL|H|9999-1|0|02-02-2008|02-03-2008||||F|||||||||
I was thinking long method of counting all the records and looping them through and comparing ....but wanted to know if there is any other method,Any help is appreciated....especially from VGRESH99.
thanks,
R
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
how to remove the first column of a space delimited txt file? there are 12+ columns...
what is the cleanest way? could use awk and print all but the first, but it looks kinda ugly
awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8" "$9" "$10" "$11" "$12"}' file.txt
whats a better way? (1 Reply)
Discussion started by: ajp7701
1 Replies
2. Shell Programming and Scripting
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
3. Shell Programming and Scripting
Hi All,
I need a shell script which could insert a sequence number column inside a dat file(pipe delimited).
I have the dat file similar to the one as shown below..
|A|B|C||D|E
|F|G|H||I|J
|K|L|M||N|O
|P|Q|R||S|T
As shown above, the column 4 is currently blank and i need to insert sequence... (5 Replies)
Discussion started by: nithins007
5 Replies
4. Shell Programming and Scripting
I have a file which was pipe delimited, I need to make it tab delimited. I tried with sed but no use
cat file | sed 's/|//t/g'
The above command substituted "/t" not tab in the place of pipe.
Sample file:
abc|123|2012-01-30|2012-04-28|xyz
have to convert to:
abc 123... (6 Replies)
Discussion started by: karumudi7
6 Replies
5. Homework & Coursework Questions
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
6. Shell Programming and Scripting
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
7. Shell Programming and Scripting
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
8. UNIX for Dummies Questions & Answers
Hi, I have a rquirement in unix as below .
I have a text file with me seperated by | symbol and i need to generate a excel file through unix commands/script so that each value will go to each column.
ex:
Input Text file:
1|A|apple
2|B|bottle
excel file to be generated as output as... (9 Replies)
Discussion started by: raja kakitapall
9 Replies
9. UNIX for Dummies Questions & Answers
Hi,
I have a requirement where I have to check whether the mandatory columns in a pipe delimited file is null and print error message.
For eg, I have to check if the 3rd,5th,6th,7th and 8th column are null and print the message "<column name> is null".
The data file will have aroung 100,000... (6 Replies)
Discussion started by: reshma15193
6 Replies
10. Shell Programming and Scripting
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