![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Rules & FAQ | Contribute | Members List | Arcade | 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. |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| awk Shell Script error : "Syntax Error : `Split' unexpected | Herry | UNIX for Dummies Questions & Answers | 2 | 03-17-2008 07:16 AM |
| error during run: St9bad_alloc - Getting this error while using some conversion progr | sathu_pec | Shell Programming and Scripting | 1 | 01-20-2008 10:38 PM |
| I got error like...syntax error on line 1, teletype | koti_rama | UNIX for Advanced & Expert Users | 2 | 07-07-2007 04:35 PM |
| error reading sections error at install | doelman | SUN Solaris | 2 | 02-05-2007 08:21 AM |
| Error: Internal system error: Unable to initialize standard output file | firkus | UNIX for Dummies Questions & Answers | 2 | 10-25-2005 12:23 PM |
|
|
LinkBack | Thread Tools | Display Modes |
|
|||
|
Error ???
Hi all,
What did I do wrong ??? I have file record.dat DLMQ|02/26/2006 01.00.00.000|||||Case CASE_ID=1111117777 STLITE ACCT_ID=1112227777 PREM_ID= PER_ID=1113337777 DLMQ|02/26/2006 01.10.00.000|||||Case CASE_ID=1111118888 SVCPLN ACCT_ID=1112228888 PREM_ID= PER_ID=1113338888 DLMQ|02/26/2006 01.00.00.000|||||PayPlan PP_ID=1111117777 ACCT_ID=STLITE DLMQ|02/26/2006 01.10.00.000|||||PayPlan PP_ID=1111118888 ACCT_ID=SVCPLN DLMQ|02/26/2006 01.00.00.000|||||FieldOrder FO_ID=1111117777 PREM_ID=STLITE DLMQ|02/26/2006 01.10.00.000|||||FieldOrder FO_ID=1111118888 PREM_ID=SVCPLN DLMQ|02/26/2006 01.00.00.000|||||Literature LIT_ID=1111117777 ACCT_ID=STLITE PER_ID=1112227777 DLMQ|02/26/2006 01.10.00.000|||||Literature LIT_ID=1111118888 ACCT_ID=SVCPLN PER_ID=1112228888 DLMQ|02/26/2006 01.00.00.000|||||FieldOrder FO_ID=1111117777 PREM_ID=STLITE DLMQ|02/26/2006 01.10.00.000|||||FieldOrder FO_ID=1111118888 PREM_ID=SVCPLN DLMQ|02/26/2006 01.00.00.000|||||FieldActivity FA_ID=1111117777 1113337777 FO_ID=STLITE SP_ID=1112227777 DLMQ|02/26/2006 01.10.00.000|||||FieldActivity FA_ID=1111118888 1113338888 FO_ID=SVCPLN SP_ID=1112228888 KLMQ|02/26/2006 00:08:07|||||StartStop 10031 LMWC|02/26/2006 00:07:28|||||FieldOrderHistory Modify 10021 20022 30023 40024 CRBM|02/26/2006 00:00:59.983|SAC||7700|| DLMQ|02/26/2006 01.05.00.000|||||CTI-CallTimer BBS7|02/26/2006 0:02:06|||||OutageStatus SP_ID=293598472 CXT9|02/26/2006 1:09:51|||||OutageTroubleReport Cancel UnknownPremise PREM_ID=3417176263 SP_ID=5823949782 Overload Broken CXT9|02/26/2006 2:36:31|||||OutageTroubleReport Create UnknownPremise PREM_ID=3417176279 SP_ID=3344936767 Overload Fix CXT9|02/26/2006 2:36:42|||||OutageTroubleReport Cancel PREM_ID=3417176283 SP_ID=3344936767 Overload Broken CXT9|02/26/2006 2:36:54|||||OutageTroubleReport Create PREM_ID=3417176287 SP_ID=3344936767 TrimTree Fix CXT9|02/26/2006 2:37:58|||||OutageTroubleReport Cancel PREM_ID=3417176295 SP_ID=3344936767 Overload Broken CXT9|02/26/2006 2:39:22|||||OutageTroubleReport Cancel PREM_ID=3417176303 SP_ID=3344936767 Overload Fix DLLW|02/26/2006 0:00:05|||||OutageTroubleReport Create UnknownPremise PREM_ID=3417176211 SP_ID=3627854455 Fix Broken Here is my code #!/bin/ksh . ./env_setup.sh cd ${ROOT_PATH}/intermediate for file in record*.dat; do grep "|" $file | sort -t"|" +0 -1 +1 -2 | awk -F"|" -v root_path=${ROOT_PATH} '{ InCallFlag='N'; WriteFlag='N'; id=$1; datetime=$2; location=$3; ani=$4; ext=$5; calllength=$6; action=$7; output_file= root_path "/intermediate/id.log"; ##looking for $7 have word ID like PREM_ID, ACCT_ID ... if (action ~ /ID/) { type = substr(action,1,index(action," ")-1); mainkey = substr(action,index(action," ")+1,index(substr(action,index(action," ")+1,20)," ")-1); mainkey = substr(action,index(action," ")+1,index(substr(action,index(action," ")+1,20)," ")-1); searchspec1 = type mainkey; searchspec2 = type "Modify " mainkey; searchspec3 = type "Access " mainkey; } printf "%s,%s,%s,%s,%s,%s,%s\n",id,datetime,callcntr,ani,type,mainkey,action >> output_file; }' done I try to get the output like this CXT9,02/26/2006 2:37:58,,,OutageTroubleReport,Cancel,OutageTroubleReport Cancel PREM_ID=3417176295 SP_ID=3344936767 Overload Brok en CXT9,02/26/2006 2:39:22,,,OutageTroubleReport,Cancel,OutageTroubleReport Cancel PREM_ID=3417176303 SP_ID=3344936767 Overload Fix DLLW,02/26/2006 0:00:05,,,OutageTroubleReport,Create,OutageTroubleReport Create UnknownPremise PREM_ID=3417176211 SP_ID=362785445 5 Fix Broken DLMQ,02/26/2006 01.00.00.000,,,Case,CASE_ID=1111117777,Case CASE_ID=1111117777 STLITE ACCT_ID=1112227777 PREM_ID= PER_ID=11133377 77 DLMQ,02/26/2006 01.00.00.000,,,FieldActivity,FA_ID=1111117777,FieldActivity FA_ID=1111117777 1113337777 FO_ID=STLITE SP_ID=111222 7777 DLMQ,02/26/2006 01.00.00.000,,,FieldOrder,FO_ID=1111117777,FieldOrder FO_ID=1111117777 PREM_ID=STLITE DLMQ,02/26/2006 01.00.00.000,,,FieldOrder,FO_ID=1111117777,FieldOrder FO_ID=1111117777 PREM_ID=STLITE DLMQ,02/26/2006 01.00.00.000,,,Literature,LIT_ID=1111117777,Literature LIT_ID=1111117777 ACCT_ID=STLITE PER_ID=1112227777 DLMQ,02/26/2006 01.00.00.000,,,PayPlan,PP_ID=1111117777,PayPlan PP_ID=1111117777 ACCT_ID=STLITE DLMQ,02/26/2006 01.05.00.000,,,PayPlan,PP_ID=1111117777,CTI-CallTimer DLMQ,02/26/2006 01.10.00.000,,,Case,CASE_ID=1111118888,Case CASE_ID=1111118888 SVCPLN ACCT_ID=1112228888 PREM_ID= PER_ID=11133388 88 But if I change code to if (action !~ /ID/) , I still have the same answer ... something is wrong ??? it does not know action ~ /ID/ or action !~ /ID/ anyone know why?? Thanks ! |
| Forum Sponsor | ||
|
|
|
|||
|
OOp I found my stupid error
} printf "%s,%s,%s,%s,%s,%s,%s\n",id,datetime,callcntr,ani,type,mainkey,action >> output_file; should be printf "%s,%s,%s,%s,%s,%s,%s\n",id,datetime,callcntr,ani,type,mainkey,action >> output_file; } case closed |
|||
| Google UNIX.COM |