10-23-2014
Quote:
Originally Posted by
pc2001
Thanks Aia!
It would be great if you could elaborate a bit on the structure and syntax of the code!
FNR==NR : FNR and NR are built-in management variables in awk. FNR keeps a tally of the records read from the current file, NR keeps a tally of every record so far read from any files given.
If FNR is equal to NR, then we are dealing with the first file, in this case file2 and it execute the following part:
{a[$1$2]++; next} : That creates an array named
a, which index is the combination of fields 1 and 2 and then skip to next line. This will happen only with first file given as argument
{if (! a[$1$2])print} : When the program gets here, it is dealing with the second file, and if it has not seen fields 1 and 2 before, it displays it.
This User Gave Thanks to Aia For This Post:
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I am a new learner of join command. Some result really make me confused.
Please kindly help me.
input:
file1:
LEO oracle engineer 210375
P.Jones Office Runner ID897
L.Clip Personl Chief ID982
S.Round UNIX admin ID6
file2:
Dept2C ID897 6 years
Dept5Z ID982 1 year
Dept3S ID6 2... (1 Reply)
Discussion started by: summer_cherry
1 Replies
2. Shell Programming and Scripting
Hi,
need some help in joining please,
FILE 1:
-------
1|05/20/2009|
2|04/21/2009|
2|03/21/2009|
FILE 2:
-------
1|Michel|Hawkins|05/10/2009|
1|Michel|Hawkins|03/10/2007|
2|Krish|Lander|09/10/2005|
FILE 3:
-------
1|M|32|03/22/2009|
2|M|42|04/22/2009|
2|M|41|03/10/2008|
I want to... (7 Replies)
Discussion started by: greenworld
7 Replies
3. Programming
example sql:
select a.a1,b.b1,c.c1,d.d1,e.e1
from a
left outer join b on a.x=b.x
left outer join c on b.y=c.y
left outer join d on d.z=a.z
inner join a.t=e.t
I know how single outer or inner join works in sql.
But I don't really understand when there are multiple of them.
can... (0 Replies)
Discussion started by: robbiezr
0 Replies
4. Shell Programming and Scripting
joining two files:
File1:
-----
1|M
2|M
3|F
File2:
-----
1|abc|def
3|xyz|pqr
join -t '|' 1.txt 2.txt gives(Itried many other ways)
1|M|abc|def
3|F|xyz|pqr
but I need the result like following (14 Replies)
Discussion started by: greenworld
14 Replies
5. UNIX for Dummies Questions & Answers
I want basically to merge two config files each of them look like that
File:Option1 value1
Optionx valuex
....
One of those files is default config while the other is generated by my script. Now here is the problem, when my script generates an option that previously has been set by default i... (4 Replies)
Discussion started by: Adas
4 Replies
6. UNIX for Dummies Questions & Answers
Hello,
My apologies if this has been posted elsewhere, I have had a look at several threads but I am still confused how to use these functions. I have two files, each with 5 columns:
File A: (tab-delimited)
PDB CHAIN Start End Fragment
1avq A 171 176 awyfan
1avq A 172 177 wyfany
1c7k A 2 7... (3 Replies)
Discussion started by: InfoSeeker
3 Replies
7. UNIX for Dummies Questions & Answers
file1:
Toronto:12439755:1076359:July 1, 1867:6
Quebec City:7560592:1542056:July 1, 1867:5
Halifax:938134:55284:July 1, 1867:4
Fredericton:751400:72908:July 1, 1867:3
Winnipeg:1170300:647797:July 15, 1870:7
Victoria:4168123:944735:July 20, 1871:10
Charlottetown:137900:5660:July 1, 1873:2... (2 Replies)
Discussion started by: mindfreak
2 Replies
8. UNIX for Dummies Questions & Answers
Hi,
I have 20 tab delimited text files that have a common column (column 1). The files are named GSM1.txt through GSM20.txt. Each file has 3 columns (2 other columns in addition to the first common column).
I want to write a script to join the files by the first common column so that in the... (5 Replies)
Discussion started by: evelibertine
5 Replies
9. Shell Programming and Scripting
Hello,
This post is already here but want to do this with another way
Merge multiples files with multiples duplicates keys by filling "NULL" the void columns for anothers joinning files
file1.csv:
1|abc
1|def
2|ghi
2|jkl
3|mno
3|pqr
file2.csv:
1|123|jojo
1|NULL|bibi... (2 Replies)
Discussion started by: yjacknewton
2 Replies
LEARN ABOUT MOJAVE
file::spec::cygwin5.18
File::Spec::Cygwin(3pm) Perl Programmers Reference Guide File::Spec::Cygwin(3pm)
NAME
File::Spec::Cygwin - methods for Cygwin file specs
SYNOPSIS
require File::Spec::Cygwin; # Done internally by File::Spec if needed
DESCRIPTION
See File::Spec and File::Spec::Unix. This package overrides the implementation of these methods, not the semantics.
This module is still in beta. Cygwin-knowledgeable folks are invited to offer patches and suggestions.
canonpath
Any "" (backslashes) are converted to "/" (forward slashes), and then File::Spec::Unix canonpath() is called on the result.
file_name_is_absolute
True is returned if the file name begins with "drive_letter:", and if not, File::Spec::Unix file_name_is_absolute() is called.
tmpdir (override)
Returns a string representation of the first existing directory from the following list:
$ENV{TMPDIR}
/tmp
$ENV{'TMP'}
$ENV{'TEMP'}
C:/temp
Since Perl 5.8.0, if running under taint mode, and if the environment variables are tainted, they are not used.
case_tolerant
Override Unix. Cygwin case-tolerance depends on managed mount settings and as with MsWin32 on GetVolumeInformation() $ouFsFlags ==
FS_CASE_SENSITIVE, indicating the case significance when comparing file specifications. Default: 1
COPYRIGHT
Copyright (c) 2004,2007 by the Perl 5 Porters. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.18.2 2014-01-06 File::Spec::Cygwin(3pm)