Sponsored Content
Top Forums UNIX for Beginners Questions & Answers awk match two fields in two files Post 303018647 by vgersh99 on Tuesday 12th of June 2018 01:41:49 PM
Old 06-12-2018
a slightly simplified variation:
Code:
awk '{idx=$1 SUBSEP $2} FNR==NR{a[idx];next} idx in a'  t.xyz a.xyz > out.xyz

This User Gave Thanks to vgersh99 For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

AWK break string into fields + pattern match

I am trying to break a string into separate fields and print the field that matches a pattern. I am using awk at the moment and have gotten this far: awk '{for(i=1;i<=NF;++i)print "\t" $i}' longstring This breaks the string into fields and prints each field on a separate line. I want to add... (2 Replies)
Discussion started by: Moxy
2 Replies

2. Shell Programming and Scripting

Match two files and divide fields

I have two files that have the date field in common. I request your help with some script that divide each field value from file1 by the correspond field value of the file2 only when the field date is equal in both files. Thanks in advance ! This is a sample of the files file 1 12/16/2010,... (2 Replies)
Discussion started by: csierra
2 Replies

3. Shell Programming and Scripting

how to match fields from different files in PERL

Howdy! I have multiple files with tab-separated data: File1_filtered.txt gnl|Amel_4.0|Group3.29 1 G R 42 42 60 15 ,.AAA.aa,aa.A.. hh00/f//hD/h/hh gnl|Amel_4.0|Group3.29 2 C Y 36 36 60 5 T.,T, LggJh gnl|Amel_4.0|Group3.29 3 A R 27 27 60 9 Gg,,.gg., B6hcc22_c File2_filtered.txt ... (3 Replies)
Discussion started by: sramirez
3 Replies

4. Shell Programming and Scripting

Add fields in different files only if some fields between them match

Hi everybody (first time posting here) I have a file1 that looks like > 1,101,0.1,0.1 1,26,0.1,0.1 1,3,0.1,0.1 1,97,0.5,0.5 1,98,8.1,0.218919 1,99,6.2,0.248 2,101,0.1,0.1 2,24,3.1,0.147619 2,25,23.5,0.559524 2,26,34,0.723404with 762 lines.. I have another 'similar' file2 > ... (10 Replies)
Discussion started by: murpholinox
10 Replies

5. Shell Programming and Scripting

awk help: Match data fields from 2 files & output results from both into 1 file

I need to take 2 input files and create 1 output based on matches from each file. I am looking to match field #1 in both files (Userid) and create an output file that will be a combination of fields from both file1 and file2 if there are any differences in the fields 2,3,4,5,or 6. Below is an... (5 Replies)
Discussion started by: ambroze
5 Replies

6. Shell Programming and Scripting

awk to calculate fields only if match is found

Trying to combine the matching $5 values between file1 and file2. If a match is found then the last $6 value in the match and the sum of $7 are outputted to a new file. The awk below I hope is a good start. Thank you :). file1 chr12 9221325 9221448 chr12:9221325-9221448 A2M 1... (5 Replies)
Discussion started by: cmccabe
5 Replies

7. Shell Programming and Scripting

awk to print fields that match using conditions and a default value for non-matching in two files

Trying to use awk to match the contents of each line in file1 with $5 in file2. Both files are tab-delimited and there may be a space or special character in the name being matched in file2, for example in file1 the name is BRCA1 but in file2 the name is BRCA 1 or in file1 name is BCR but in file2... (6 Replies)
Discussion started by: cmccabe
6 Replies

8. Shell Programming and Scripting

awk to print match or non-match and select fields/patterns for non-matches

In the awk below I am trying to output those lines that Match between file1 and file2, those Missing in file1, and those missing in file2. Using each $1,$2,$4,$5 value as a key to match on, that is if those 4 fields are found in both files the match, but if those 4 fields are not found then missing... (0 Replies)
Discussion started by: cmccabe
0 Replies

9. UNIX for Beginners Questions & Answers

Match Fields between two files, print portions of each file together when matched in ([g]awk)'

I've written an awk script to compare two fields in two different files and then print portions of each file on the same line when matched. It works reasonably well, but every now and again, I notice some errors and cannot seem to figure out what the issue may be and am turning to you for help. ... (2 Replies)
Discussion started by: jvoot
2 Replies

10. Shell Programming and Scripting

awk to update file based on match in 3 fields

Trying to use awk to store the value of $5 in file1 in array x. That array x is then used to search $4 of file1 to find aa match (I use x to skip the header in file1). Since $4 can have multiple strings in it seperated by a , (comma), I split them and iterate througn each split looking for a match.... (2 Replies)
Discussion started by: cmccabe
2 Replies
SOCKD.ROUTE(5)							File Formats Manual						    SOCKD.ROUTE(5)

NAME
sockd.route - Route file for multi-homed SOCKS proxy server SYNOPSIS
/etc/sockd.route DESCRIPTION
The file /etc/sockd.route is used by the SOCKS server program sockd to determine which of its network interfaces it should use to reach a given destination host. It is needed only if your SOCKS server host is multi-homed and your version of sockd supports RBIND. A multi-homed host is a host with more than one network interfaces and with its IP_FORWARDING turned off. Only the multi-homed version of sockd can be run on such hosts. You can find out the version of your sockd (or rsockd) by command sockd -ver or rsockd -ver A line in the file can be up to 1024 characters long. Lines starting with a `#' are comments. Non-comment lines must be of the form if_addr dst_addr dst_mask All three fields are required and are separated by spaces or tabs. Each filed is specified in the usual dotted form of IP addresses, e.g., 128.23.16.2. if_addr must be the IP address of one of the network interfaces on the SOCKS server host. dst_addr specifies either the IP address of a host, a network, or a subnet in the usual dotted form, e.g., 129.201.4.0, or a domain name, e.g., internic.net. dst_mask spec- ifies mask for the IP address used in dst_addr. Bits in dst_mask that are set to 0 indicate the bit positions to be ignored during compar- ison of IP addresses. So, specifying 255.255.255.255 in dst_mask demands an exact match with dst_addr, whereas 0.0.0.0 in dst_mask causes a matching with any given destination address regardless of what is specified for dst_addr. If a domain name is used for dst_addr, the con- tents of dst_mask are ignored, though it must still be supplied (simply use 0.0.0.0). If the domain name starts with a period, it speci- fies a zone and matches all domain names within that zone, otherwise it matches only the domain name itself. For example, xyz.com matches only xyz.comP, while .xyz.com macthes not only xyz.com, but also abc.xyz.com and this.and.that.xyz.com, among others. The special symbol ALL (which must be entirely in uppercase) matches everything. Domain names are otherwise case-insentive. When using a domain name in dst_addr, you have be very careful in maintaining your DNS setup. See the last few paragraphs in sockd.conf(5). When a multi-homed sockd receives a network request, it first checks with /etc/sockd.fc (or /etc/sockd.conf) to decide whether the request should be allowed or denied. For an allowable request, sockd then checks the given destination IP address or domain name against the dst_addr dst_mask pair in /etc/sockd.route, one line at a line. Once a match is found, the network interface of the corresponding if_addr field is used for connection to the destination host. Remaining lines in the file are skipped. Therefore the order of the lines in the file is of extreme importance. If no match is found throughout the file, a line indicating the error is produced using syslog with facility daemon and level err and the request is ignored. You have the option of using the frozen route file /etc/sockd.fr instead of /etc/sockd.route. The frosen file is produced by make_sockdfr and is essentially the memory image of the parsed route file. Using it can reduce the start-up delay of the SOCKS server since it eliminate the need for parsing. Since the SOCKS server always looks for /etc/sockd.fr first, be sure that you always run make_sockdfr every time after you modifify /etc/sockd.route. EXAMPLES
Suppose you have a dual-homed host with interface 129.1.2.3 connecting to your internal Class B network 129.1, and interface 129.1.254.1 connecting to the outside world. If you only use the SOCKS server to provide connections to outside hosts, then the file /etc/sockd.route only needs one line: 129.1.254.1 0.0.0.0 0.0.0.0 If you also use the SOCKS server to provide connection to internal hosts as well, then two lines would suffice: 129.1.2.3 129.1.0.0 255.255.0.0 129.1.254.1 0.0.0.0 0.0.0.0 Note that these two lines must be in the order given above. If you prefer using domain name instead, the lines should be 129.1.2.3 .myown.com 0.0.0.0 129.1.254.1 0.0.0.0 0.0.0.0 assuming that myown.com is your domain. SEE ALSO
dump_sockdfr(8), make_sockdfr(8), sockd(8), sockd.fr(5) May 6, 1996 SOCKD.ROUTE(5)
All times are GMT -4. The time now is 03:35 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy