sort a report file having header and footer


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sort a report file having header and footer
# 1  
Old 11-25-2011
sort a report file having header and footer

I am having report file with header and footer . The details in between header and footer are separated by a pipe charater. I want to sort the file by considering multiple columns in between header and footer.

pls help
# 2  
Old 11-25-2011
None of your previous threads with extremely similar questions gave you any ideas?

What you have you tried so far?

Example input & output?
# 3  
Old 11-25-2011
MNM PRIVATE LIMITED
REPORT GENERATED ON 25.11.2011
CONSOLIDATION REPORT
--------------------------------------
NAME | EMPID | PLACE | RANK | SALARY|
--------------------------------------
A1 |121 | AP | 19 |2000 |
A2 |125 | KA | 11 |12000 |
A3 |129 | GJ | 16 |2000 |
A4 |127 | CHE | 81 |8000 |
A5 |126 | DEL | 61 |5000 |
A6 |120 | KA | 21 |5000 |
A7 |128 | AP | 10 |2000 |
A8 |123 | AP | 91 |2000 |
--------------------------------------
tOTAL |38000 |
--------------------------------------
# 4  
Old 11-25-2011
sort a report file having header and footer

I am having report file with header and footer . The details in between header and footer are separated by a pipe charater. I want to sort the file by considering multiple columns in between header and footer.

The report file is given below

MNM PRIVATE LIMITED
REPORT GENERATED ON 25.11.2011
CONSOLIDATION REPORT
--------------------------------------
NAME | EMPID | PLACE | RANK | SALARY|
--------------------------------------
A1 |121 | AP | 19 |2000 |
A2 |125 | KA | 11 |12000 |
A3 |129 | GJ | 16 |2000 |
A4 |127 | CHE | 81 |8000 |
A5 |126 | DEL | 61 |5000 |
A6 |120 | KA | 21 |5000 |
A7 |128 | AP | 10 |2000 |
A8 |123 | AP | 91 |2000 |
--------------------------------------
tOTAL|38000 |
--------------------------------------

I have to sort above based on empid,rank,salary

pls help
# 5  
Old 11-25-2011
This makes some assumptions about the report format. Should work if it is as you indicated in your sample.


Code:
awk '
    BEGIN {
        sort = "sort -t \\| -k 2n,2 -k 4n,4 -k 5n,5"
    }
    /------/ {                  # use dashes to determine records to sort
        if( ++snarf > 2 )
        {
            close( sort );
            snarf = -1;
        }
        print;
        next;
    }
    {
         if(  snarf > 1 )
              print |sort;
          else
              print;
   }
' input-file


Last edited by agama; 11-25-2011 at 10:57 PM.. Reason: fixed major bug
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Split large xml into mutiple files and with header and footer in file

Split large xml into mutiple files and with header and footer in file tried below it splits unevenly and also i need help in adding header and footer command : csplit -s -k -f my_XML_split.xml extrfile.xml "/<Document>/" {1} sample xml <?xml version="1.0" encoding="UTF-8"?><Recipient>... (36 Replies)
Discussion started by: karthik
36 Replies

2. UNIX for Dummies Questions & Answers

Eliminate Header and footer from EBCDIC file

Is there any command to eliminate Header and footer from EBCDIC file (4 Replies)
Discussion started by: abhilashnair
4 Replies

3. UNIX for Dummies Questions & Answers

File Row Line Count without Header Footer

Hi There! I am saving the file count of all files in a directory to an output file using: wc -l * > FileCount.txt I get: 114 G4SXORD 3 G4SXORH 0 G4SXORP 117 total But this count includes header and footer. I want to subtract 2 from the count and get ... (7 Replies)
Discussion started by: gagan8877
7 Replies

4. Shell Programming and Scripting

Is there a way to append both at header and footer of a file

currently I've a file Insert into CD_CARD_TYPE (CODE, DESCRIPTION, LAST_UPDATE_BY, LAST_UPDATE_DATE) Values ('024', '024', 2, sysdate); Insert into CD_CARD_TYPE (CODE, DESCRIPTION, LAST_UPDATE_BY, LAST_UPDATE_DATE) Values ('032', '032', 2, sysdate); ........ is it... (3 Replies)
Discussion started by: jediwannabe
3 Replies

5. Shell Programming and Scripting

Removing header or footer from file

Hi Every one, what is the coomand to remove header or footer from a file. Please help me by providing command/syntax to remove header/footer from unix. Thanks in advance for all your support. (5 Replies)
Discussion started by: sridhardwh
5 Replies

6. Shell Programming and Scripting

Add header and footer with record count in footer

This is my file(Target.txt) name|age|locaction abc|23|del xyz|24|mum jkl|25|kol The file should be like this 1|03252012 1|name|age|location 2|abc|23|del 2|xyz|24|mum 2|jkl|25|kol 2|kkk|26|hyd 3|4 Column 1 is row indicator for row 1 and 2, column indicator is 1,for data rows... (1 Reply)
Discussion started by: itsranjan
1 Replies

7. Shell Programming and Scripting

Ignore Header and Footer and Sort the data in fixed width file

Hi Experts, I want to Sort the data in fixed width file where i have Header and Footer also in file. I m using below commad to do the sort based on field satarting from 15 position to 17 position , but it is not ignoring the Header and Footer of the file while sorting. In the output i am... (5 Replies)
Discussion started by: sasikari
5 Replies

8. Shell Programming and Scripting

Split large file and add header and footer to each file

I have one large file, after every 200 line i have to split the file and the add header and footer to each small file? It is possible to add different header and footer to each file? (1 Reply)
Discussion started by: ashish4422
1 Replies

9. Shell Programming and Scripting

Total of lines w/out header and footer incude for a file

I am trying to get a total number of tapes w/out headers or footers in a ERV file and append it to the file. For some reason I cannot get it to work. Any ideas? #!/bin/sh dat=`date +"%b%d_%Y"` + date +%b%d_%Y dat=Nov16_2006 tapemgr="/export/home/legato/tapemgr/rpts"... (1 Reply)
Discussion started by: gzs553
1 Replies

10. Shell Programming and Scripting

Need to Chop Header and Footer record from input file

Hi, I need to chope the header and footer record from an input file and make a new output file, please let me know how i can do it in unix.thanks. (4 Replies)
Discussion started by: coolbudy
4 Replies
Login or Register to Ask a Question