awk array next issue


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting awk array next issue
# 1  
Old 07-10-2017
awk array next issue

Hi,

Here's an example of what I my issue, a file list.txt, which looks like:
Code:
a
b
c
d
e

I have been trying to use the following code to simply print the list using awk and next:

Code:
awk 'FNR==NR{a[$1]=$1;next}{print a[$1]}' list.txt

this give no output, even though I would expect it to type out the list. Removing the next command works fine:

Code:
awk 'FNR==NR{a[$1]=$1}{print a[$1]}' list.txt

What am I missing? Why doesn't the first code work?

Last edited by Corona688; 07-10-2017 at 03:27 PM..
# 2  
Old 07-10-2017
next means it jumps to the end of the script, skipping the following program code.
next is useful with two input files.
The first one (where FNR==NR is true) reads into the array, and the following code is skipped.
During the second file (where FNR!=NR i.e. skips the following {block}) it runs the code following the skipped {block}.

Last edited by MadeInGermany; 07-11-2017 at 02:45 AM.. Reason: corrected NFS -> FNR
# 3  
Old 07-10-2017
To keep the forums high quality for all users, please take the time to format your posts correctly.

First of all, use Code Tags when you post any code or data samples so others can easily read your code. You can easily do this by highlighting your code and then clicking on the # in the editing menu. (You can also type code tags [code] and [/code] by hand.)



Second, avoid adding color or different fonts and font size to your posts. Selective use of color to highlight a single word or phrase can be useful at times, but using color, in general, makes the forums harder to read, especially bright colors like red.

Third, be careful when you cut-and-paste, edit any odd characters and make sure all links are working property.

Thank You.

The UNIX and Linux Forums
# 4  
Old 07-10-2017
To clarify what MadeInGermany wrote:
With that particular awk construct (your first example), you need to specify two input files, not one. With one file, the print part never gets executed.

Also, there seems to be a typo, NFS should be FNR.
This User Gave Thanks to Scrutinizer For This Post:
# 5  
Old 07-11-2017
Thanks for the hint, I have corrected my post.
# 6  
Old 07-11-2017
Hello hexy,

Adding to Made in Germany's point here too. next is useful for another thing too. So let's say we have many conditions in our program(which are NOT dependent on each other), we could use next and could tell awk NOT to go further checks and could save some cycles there.

Thanks,
R. Singh
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Linux

Issue in inserting null string in array

I am getting some values from a file and putting them in an array..but the null strings are not getting passed to the array. So during printing the elements ,the null string is not showing in the output. during array size calculation it is also excluding null.Please let me know how to do it. # cat... (2 Replies)
Discussion started by: millan
2 Replies

2. Shell Programming and Scripting

Issue with the incorrect number of array elements

Hello , I have a file : RestartSession.txt with the below contents : Backup p203pcrw01_OS_Weekly Failed full 10/11/2015 10:00:07 PM 1444572007 10/11/2015 10:26:23 PM 1444573583 0:00 0:26 18.76 1 08 0 0 0 2 2 180668 ... (4 Replies)
Discussion started by: rahul2662
4 Replies

3. Shell Programming and Scripting

Array Issue In Bash

Hi, I have the following code which is giving error mentioned below. Please can you support on this. Also suggest how can we access all the items against single vasservicename in circlename array,i.e, vasservicename say MTSTV will be available to all circles which are mentioned in the array... (2 Replies)
Discussion started by: siramitsharma
2 Replies

4. Shell Programming and Scripting

How to Assign an shell array to awk array?

Hello All, Can you please help me with the below. #!/bin/bash ARR="No Differences In Stage Between HASH_TOTALS & HASH_TOTALS_COMP For UNINUM:0722075 PROVIDER:5 EXTRACT_DT:30-SEP-12 VER_NUM:1" ARR="No Differences In Stage Between HASH_TOTALS & HASH_TOTALS_COMP For UNINUM:0722075 PROVIDER:5... (14 Replies)
Discussion started by: Ariean
14 Replies

5. Programming

Javascript issue: array.push

I have a code snippet here that is supposed to vary values of certain parameter values: <script type="text/javascript"> // dynamic array of which its ultimate size is unknown // an array of arrays, each consisting of one variation var variations = ; // parameters of how to create a... (0 Replies)
Discussion started by: figaro
0 Replies

6. Shell Programming and Scripting

Issue with array in shell

So i have used arrays for a while now but I just notice in one of my arrays when using an array with 9+ items in it that after running a for loop on the array it was replacing the first array with what ever was last and I cant figure out why. Here is my code. #!/bin/bash vm=( 0 1 2 3 4 5 6... (3 Replies)
Discussion started by: snptuning
3 Replies

7. Shell Programming and Scripting

Array usage issue with AWk

Hi friends, I m trying to write small script in awk alone. And I have tried below logic for one of my automation - taking the first column of the file in array and will read in for loop for each time when i grep the array value in the same file I should get complete output whichever is matching... (3 Replies)
Discussion started by: Shahul
3 Replies

8. Shell Programming and Scripting

Scripting array issue

Hi guys, I'm a scripting noob in need of some help :) I am creating a script that checks the filesystems and will alert based upon if the percent full is greater than the threshold set. The problem that I am having is that when I set the 'filesystem' variable, all of the output is treated as... (12 Replies)
Discussion started by: tank126
12 Replies

9. Solaris

V880 and T3 array issue

We're trying to install a third T3 array onto our V880. The other two T3's are connected to a qlogic fibre card. We can see this connection fine when we do a luxadm probe -p command. The full device paths are shown etc. ie: the first T3's logical name is c2t1d0 and the second one is c3t1d0. ... (3 Replies)
Discussion started by: mjl927
3 Replies

10. Shell Programming and Scripting

Dynamic Array Issue

Could one of you, please, provide some input regarding my problem below and it is as follows: I have 2 files that I need to make sure are identical before processing: First, I sort both files Second, I do a diff file1 file2 > File 3 This provides me with the difference. Now, I need to... (6 Replies)
Discussion started by: ddedic
6 Replies
Login or Register to Ask a Question