Sponsored Content
Full Discussion: Using NR==FNR Command
Top Forums UNIX for Beginners Questions & Answers Using NR==FNR Command Post 303000932 by Nebula on Monday 24th of July 2017 05:38:48 AM
Old 07-24-2017
Quote:
Originally Posted by Scrutinizer
With awk, try:
Code:
awk 'NR==FNR{A[$1]=$0; next} $1 in A{print A[$1], $2, $3}' FS=\| OFS=\| file1 file2

or
Code:
awk 'NR==FNR{A[$1]=$0; next} $1 in A{$1=A[$1]; print}' FS=\| OFS=\| file1 file2

or, less efficient, but shorter:
Code:
awk 'NR==FNR{A[$1]=$0; next} $1=A[$1]' FS=\| OFS=\| file1 file2


Thanks dear all worked Smilie
 

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. Shell Programming and Scripting

NR==FNR for getting Col4 value from 2nd file

Multiple versions of this are probably in this section, but could not find one just right for me. My code gives me a zero byte file. Problem: foo 553 403 448 492 451 403 456 560 527 534 529 550 500 447 404 (6 Replies)
Discussion started by: genehunter
6 Replies

3. UNIX for Dummies Questions & Answers

awk NR==FNR output control

Hi Guys, I have two files: f1: A B C D E F G H f2: A X Y Z f1 has 48000 lines, and f2 has 68. I have been matching f1 $3 to f2 $1, and getting f3: A A B C D E F G I would like f3 too look like this: A X Y Z A B C D E F G (2 Replies)
Discussion started by: heecha
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

NR==FNR confusions

This has been asked and answered hundreds of times, but I can't understand the syntax of awk's NR==FNR trick for merging files and printing the correct columns. Here's my File 1 1 rs8179466 224176 A ADD 1037 1.066 0.1421 0.8065 1.408 0.4468 ... (3 Replies)
Discussion started by: roofus
3 Replies

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

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

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

10. 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
XZDIFF(1)							     XZ Utils								 XZDIFF(1)

NAME
xzcmp, xzdiff, lzcmp, lzdiff - compare compressed files SYNOPSIS
xzcmp [cmp_options] file1 [file2] xzdiff [diff_options] file1 [file2] lzcmp [cmp_options] file1 [file2] lzdiff [diff_options] file1 [file2] DESCRIPTION
xzcmp and xdiff invoke cmp(1) or diff(1) on files compressed with xz(1), lzma(1), gzip(1), or bzip2(1). All options specified are passed directly to cmp or diff. If only one file is specified, then the files compared are file1 (which must have a suffix of a supported com- pression format) and file1 from which the compression format suffix has been stripped. If two files are specified, then they are uncom- pressed if necessary and fed to cmp(1) or diff(1). The exit status from cmp or diff is preserved. The names lzcmp and lzdiff are provided for backward compatibility with LZMA Utils. SEE ALSO
cmp(1), diff(1), xz(1), gzip(1), bzip2(1), zdiff(1) BUGS
Messages from the cmp(1) or diff(1) programs refer to temporary filenames instead of those specified. Tukaani 2009-07-05 XZDIFF(1)
All times are GMT -4. The time now is 09:30 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy