What is $(NF) means?


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers What is $(NF) means?
# 1  
Old 10-10-2019
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
Code:
alpha
a
beta
b

if i use command
Code:
cat kv | paste - - | awk '{print $1," "$2 "------>"$(NF)}'

i get the o/p as
Code:
alpha  a------>a
beta  b------>b

from above o/p i can understand that is printing last word of the each line. but not able to understand it why
as NF argument tells number of argument.
net able to understand its working logic.
# 2  
Old 10-10-2019
It's the same as $NF - the last field in the input line regardless of its actual field number.
awk splits the line into n fields and then assigns n to NF (number of fields?) If you have three fields, $NF = $3 = the value of the last field in line. Same for 20 or hundreds of fields in a line. You can go a step beyond - what do you think $(NF-1) evaluates to? Here, the parentheses are necessary!
This User Gave Thanks to RudiC For This Post:
# 3  
Old 10-10-2019
thx Rudic for the explanation.

Code:
$(NF-1)

this will print alpha and beta.
thx for explaining in easy way .
# 4  
Old 10-10-2019
Yes, in your above example it will print alpha and beta, but in general, it will print the before-last field.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Programming

What does it means?

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

2. 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

3. Shell Programming and Scripting

!! what is this means

I have a script like select * from table !! what those exclamation marks mean (4 Replies)
Discussion started by: vasuarjula
4 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. Shell Programming and Scripting

$$ means?

hey, what's $$varname in a script? I used to see $varname only. search on google didn't help. thanks. (4 Replies)
Discussion started by: patiobarbecue
4 Replies

8. UNIX for Dummies Questions & Answers

Can anyone tell me what this means..???

I found a file in my base folder width the name replace.sh and width the text string. sed -i "s/$1/$2/g" `grep -ir $1 ./*|grep -v '.svn'|cut -d: -f1` Wat does it mean and what does it do? (1 Reply)
Discussion started by: samarn
1 Replies

9. 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
Login or Register to Ask a Question