Sponsored Content
Full Discussion: NR==FNR confusions
Top Forums Shell Programming and Scripting NR==FNR confusions Post 302686663 by zaxxon on Wednesday 15th of August 2012 08:09:09 AM
Old 08-15-2012
Code:
awk 'NR==FNR{_[$2]=$0; next} _[$2] {print _[$2] "\t" $6}' f1 f2

NR has Number of the Record combined for all files given as input (16 Records). FNR just the Number of Records for the current file.

NR==FNR works like this:
Code:
$ awk '{print "NR:", NR " FNR:", FNR}' f1 f2
NR: 1 FNR: 1             <---- here starts f1
NR: 2 FNR: 2
NR: 3 FNR: 3
NR: 4 FNR: 4
NR: 5 FNR: 5
NR: 6 FNR: 1             <---- here starts f2
NR: 7 FNR: 2
NR: 8 FNR: 3
NR: 9 FNR: 4
NR: 10 FNR: 5
NR: 11 FNR: 6
NR: 12 FNR: 7
NR: 13 FNR: 8
NR: 14 FNR: 9
NR: 15 FNR: 10
NR: 16 FNR: 11

So when NR and FNR are not equal anymore, we must be in the second file f2. The next just helps, that the next following statement is not executed and so we just read in f1 into an associative array for later use, when we are in f2, (ie. when NR==FNR) is not true anymore.

Last edited by zaxxon; 08-15-2012 at 09:27 AM.. Reason: typo
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Awk: different between NR and FNR

As I know: FNR: The ordinal number of the current record in the current file. NR: The ordinal number of the current record from the start of input. I don't understand really differency between NR and FNR. Who can explain it for me? And give me an example. Thanks (1 Reply)
Discussion started by: anhtt
1 Replies

2. Solaris

swap space confusions

hi, i am a little bit confused over swap space issues on solaris. what i know is that mostly all solaris swap space is configured on /tmp as a tmpfs. but i do receive alerts from my monitoring server that one of my server has exceeded 95% treshold. when checked at tmp, it shows only 12%. ... (1 Reply)
Discussion started by: cromohawk
1 Replies

3. UNIX and Linux Applications

Problmes/Confusions with WINE!

I want to use WINE. I have some confusions with it. Does WINE support only access to Windows apps which are installed on Windows in case if it is Dual boot? Can I install standalone Windows application directly on Linux if its not Dual boot? Please explain. (2 Replies)
Discussion started by: nixhead
2 Replies

4. Shell Programming and Scripting

NR=FNR

cat file1 1 a b c 2 d e f 3 a f r cat file2 a c e output should be 1 3 means: if field 1 of file2 matches filed 2 of file1 then print field 1 of file1 I know that it can be done using awk NR=FNR. But not able to acheive it. Thanks in advance. (9 Replies)
Discussion started by: shaan4uster
9 Replies

5. Shell Programming and Scripting

Awk FNR==NR question

awk -F'' 'FNR==NR {a=$2; next} {$1=a} 1' $useralias ${entries} >> ${entries}_2 Hi, Is there anyway to alter this command so that if it does not find a match it will just leave the line alone instead of replacing what it doesn't find with a blank space? (4 Replies)
Discussion started by: Jazmania
4 Replies

6. Shell Programming and Scripting

How to use NA and FNR?

Hi i have file1: conn=232257 client=16218.19488.218.86:51237 protocol=LDAP file2: conn=232257 dn="uid=apple,ou=xxxx,ou=usfgfhfers,dc=example,dc=com" conn=232370 dn="uid=ball,ou=yyyyyy,ou=usfhfhfhers,dc=example,dc=com" In the output file it should match first column from above both files... (2 Replies)
Discussion started by: buzzme
2 Replies

7. Shell Programming and Scripting

Help with Alternative for NR==FNR

Hi, I have an issue with the below script nawk 'NR==FNR{a=$4" "$5}NR>FNR{print NF?$0:a"\n";if(/^cn:/) x=$0}' FS="" in1.txt in2.txt > out1.txt It is taking too long to get a string from in1.text, search for the string in in2.txt and create a new file out1.txt. Is there any alternative way we... (1 Reply)
Discussion started by: Samingla
1 Replies

8. Shell Programming and Scripting

awk --> selective printout with FNR

Hi everybody! need some awk-support. i want a line-selective printout of a file. wat i normally will do with ... awk ' FNR==8' sample.txt But now i need the data from line 8, 10 and the following data from line13 to 250 wich is not end of the file. I tried allready to combine it but without... (2 Replies)
Discussion started by: IMPe
2 Replies

9. Shell Programming and Scripting

Explanation of FNR in this awk script

To merge mutiple *.tab files as: file1.tab rs1 A A rs2 A A rs3 C C rs4 C Cfile2.ind rs1 T T rs2 T T rs3 G G rs4 G Gand file3.tab rs1 B B rs2 B B rs3 L L rs4 L LOutput: file1.tab file2.tab file3.tab AA TT BB AA TT BB CC GG LL CC GG ... (4 Replies)
Discussion started by: yifangt
4 Replies

10. UNIX for Beginners Questions & Answers

Using NR==FNR Command

Dear All, I have below two files with me: file 1: A|B E|F C|D file 2: A|X|Y R|T|I C|V|N I want to compare 1st column of each file and than print both columns of file 1 and column 2 and 3 of file 2 Sample required output in regards to above files is below: A|B|X|Y C|D|V|N (5 Replies)
Discussion started by: Nebula
5 Replies
savetextmode(1) 						Svgalib User Manual						   savetextmode(1)

NAME
savetextmode, textmode - save or restore the complete SVGA status for textmode. SYNOPSIS
savetextmode textmode DESCRIPTION
These are simple scripts to save the SVGA register state when in textmode to the files /etc/vga/fontdata and /etc/vga/textregs ($HOME/.vga/fontdata and $HOME/.vga/textregs if directory /etc/vga is not writeable) or to restore it from these files. The actual utilities used are restorefont(1), restoretextmode(1), and restorepalette(1). The purpose of these scripts program is usually to recover from a crashed console due to an svgalib, Xfree or other program bug. You do this by being a smart guy and running savetextmode right after booting of your machine, prior to any problems. Then, in case the SVGA state is hosed and you sit in front of a blank or useless console, change VC (maybe login) to get to a shell. Or exist the currently running program with <Ctrl>-C, <Ctrl>-<Alt>-<Backspace>, or whatever applies. Once you got a shell, run textmode and it will hopefully ren- der your console useable again. To make it clear: You do all this while not seeing anything on your console screen, you enter this information blindly or after logging in from a network. Also, if the keyboard is left in raw mode, nothing can really help you as you cannot enter anything which a shell will understand. FILES
/etc/vga/fontdata or $HOME/.vga/fontdata /etc/vga/textregs or $HOME/.vga/textregs SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), dumpreg(1), convfont(1), fix132x43(1), restorefont(1), restoretextmode(1), restorepalette(1), runx(1), setmclk(1), AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The exact source of the referenced utility as well as of the original documentation is unknown. It is very likely that both are at least to some extent are due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>. Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual. Svgalib (>;= 1.2.11) 2 Aug 1997 savetextmode(1)
All times are GMT -4. The time now is 02:32 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy