This error means?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting This error means?
# 1  
Old 01-25-2016
This error means?

friends because it gives me this error

Code:
v_n_Valida=`nawk  'BEGIN {
                                                TotDet=0;
                                                NumReg=0;
                                              }
                                              {
                                                if ( substr($ArchPro,1,1) == 0)
                                                {
                                                   NumReg++;
                                                   TotDet= TotDet + int(substr($ArchPro,26,9));

                                               }
                                               } END{
                                                printf ("%d|%d",NumReg,TotDet)
                                              }' $PATH_DAT/$ArchPro`


Code:
nawk: illegal field $(), name "ArchPro"
input record number 1, file /u03/home/apli/fidqa/DATA/MKTMCMRPTO20160121E.DAT


Last edited by Scrutinizer; 01-25-2016 at 02:54 PM..
# 2  
Old 01-25-2016
$ArchPro is a reference to a shell variable that cannot be used like that in awk. You need to pass it to nawk:

Code:
nawk  -v ArchPro="$Archpro" ' .... ' "$PATH_DAT/$ArchPro"

The variable ArchPro can then be referenced inside awk (without the $ sign, unless the variable is used to select the field number of the input file)
This User Gave Thanks to Scrutinizer For This Post:
# 3  
Old 01-25-2016
Quote:
Originally Posted by Scrutinizer
$ArchPro is a reference to a shell variable that cannot be used like that in awk. You need to pass it to nawk:

Code:
nawk  -v ArchPro="$Archpro" ' .... ' "$PATH_DAT/$ArchPro"

The variable ArchPro can then be referenced inside awk (without the $ sign, unless the variable is used to select the field number of the input file)
but that's bad because it gives the error?
# 4  
Old 01-25-2016
The error was there because inside awk the variable ArchPro was empty, so there was a reference to $"" which is a non-existing field.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

What is $(NF) means?

HI what does the $(NF) means. here i want to understand the working. what i know is that in awk NF argument will tell number of column in a file i have below file alpha a beta b if i use command cat kv | paste - - | awk '{print $1," "$2 "------>"$(NF)}' i get the o/p as alpha ... (3 Replies)
Discussion started by: scriptor
3 Replies

2. Programming

What does it means?

#define abc '\xE8' (7 Replies)
Discussion started by: kamlesh33
7 Replies

3. Shell Programming and Scripting

What does . means?

Hi, I have seen in some ksh script, that we are executing shell scripts inside other shell script as . variable.sh What is . here? Their is space between . and variabloe. And why we are not executing it like ./variable.sh? I know that . signifies current directory , but what its... (2 Replies)
Discussion started by: jatanig
2 Replies

4. UNIX for Dummies Questions & Answers

What means %U

I can not find out what the %U means in the following command: ooffice -calc %U (2 Replies)
Discussion started by: borobudur
2 Replies

5. UNIX for Advanced & Expert Users

what does $#,$* means

:) Hi, In some script i got these regular expression like , n=$# and for i in $* can anybody let me know, what does it means (5 Replies)
Discussion started by: deb.simply
5 Replies

6. UNIX for Dummies Questions & Answers

Can you tell me what this means?

Can you please tell me what this means? use grep to find from the file myfile.txt all lines containing the sequence tt but not more 2 ts? I have no idea. (2 Replies)
Discussion started by: rushhour
2 Replies

7. UNIX for Dummies Questions & Answers

$? means?

Hi All, Can you please explain wats the meaning of this $? in unix Thanks (2 Replies)
Discussion started by: mathur
2 Replies

8. UNIX for Dummies Questions & Answers

what it means?

I have a command called cd $HDRROOT/release/tools/cfg My query is what it means? tHat is.... $HDRROOT part is not clear. If I put this command it says path not found.... I doubt that $HDRROOT is trying to mean smething I am not clear of. PL help......... (4 Replies)
Discussion started by: rraajjiibb
4 Replies

9. UNIX for Advanced & Expert Users

What does ##* means

Hi In one of the thread I have found echo ${SHELL##*/} Can any of u pls let me know, what is the interpretation for ##* over here? Thanks. (2 Replies)
Discussion started by: yeheyaansari
2 Replies
Login or Register to Ask a Question