![]() |
|
|||||||
| Home | Forums | Register | Rules & FAQ | Donate | Members List | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here. |
![]() |
|
|
Submit Tools | Thread Tools | Search this Thread | Display Modes |
|
|||
|
How to handle multiple rows in a file
I have a FILE a.txt which has the following data
113901.94,113901.94,56950.97,56950.97,NOT MATCHING,NOT MATCHING 10693.04,10693.04,5346.52,5346.52,NOT MATCHING,NOT MATCHING 1901.94,1901.94,550.97,550.97,NOT MATCHING,NOT MATCHING 103.04,103.04,53.52,53.52,NOT MATCHING,NOT MATCHING #### This IS my Code #### RECIPIENT="xyz@mail.com" FILE_PATH=/path/ cd $FILE_PATH FILE=a.txt chmod 777 $FILE tgt_dr=`cat a.txt | awk -F',' '{print $1}' $FILE` tgt_cr=`cat a.txt | awk -F',' '{print $2}' $FILE` src_dr=`cat a.txt | awk -F',' '{print $3}' $FILE` src_cr=`cat a.txt | awk -F',' '{print $4}' $FILE` ### Comparing for the Credit Amount if [ -s $FILE ] then if [ $src_cr -eq $tgt_cr ] then exit 0 else (echo "Hi All, The sum of credit amount : $src_cr The sum of credit amount : $tgt_cr Thanks user_name" )|mailx -s "`date '+%d-%m-%y'` Credit Amount" $RECIPIENT fi else exit 0 fi ### Comparing for the Debit Amount if [ -s $FILE ] then if [ $src_dr -eq $tgt_dr ] then exit 0 else (echo "Hi All, The sum of debit amount : $src_dr The sum of debit amount : $tgt_dr Thanks User_name" )|mailx -s "`date '+%d-%m-%y'` Debit Amount" $RECIPIENT fi else exit 0 fi as of now my program handle only one row. pl let me know how to achieve this in looping if i have multiple lines in the a.txt file Thanks Babu |
| Forum Sponsor |
|
|
|
|||
|
This compares the whole file, writes all the credit problems to one file, all the debit problems to another, then sends all of the common problems in one email.
Code:
awk -F',' '{ if($1 != $3 ) {print $1, $3 > "debitfile"}
if($2 != $4 ) { print $2, $4 > "creditfile" }
} ' a.txt
$(echo "Hi All,
`awk '{ printf( "The sum of credit amount :%10f The sum of credit amount :%10f\n", $1, $2) creditfile`
Thanks
user_name" )|mailx -s "`date '+%d-%m-%y'` Debit Amount" $RECIPIENT
$(echo "Hi All,
`awk '{ printf( "The sum of debit amount :%10f The sum of debit amount :%10f\n", $1, $2) debitfile`
Thanks
user_name" )|mailx -s "`date '+%d-%m-%y'` Debit Amount" $RECIPIENT
|
| Forum Sponsor |
|
|
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| flexible sed command needed to handle multiple input types | SiftinDotCom | Shell Programming and Scripting | 2 | 03-19-2008 02:39 PM |
| Handle Configuration File with same name of Parameter in multiple Sections | potro | Shell Programming and Scripting | 7 | 03-05-2008 09:36 AM |
| a bit tricky to change it multiple rows in one row and ... | netbanker | Shell Programming and Scripting | 2 | 12-31-2007 11:48 PM |
| How to handle the Multiple Rows in the Database | hsekol | Shell Programming and Scripting | 2 | 03-05-2007 06:51 AM |
| NFS file handle | kazimir | UNIX for Advanced & Expert Users | 2 | 07-24-2002 11:11 AM |