Sponsored Content
Top Forums Shell Programming and Scripting Join not working for comparision Post 302820309 by nua7 on Wednesday 12th of June 2013 01:07:16 PM
Old 06-12-2013
Join not working for comparision

Hi All,
I have 2 files where the first column of both the files have to be compared and if they match the first six columns of the first file to be extracted in the output file.

Format of files :

File1 : ${SHTEMP}NPBR5.XTR.tmp

Code:
S00016678|129|7|MPF|20090106|E
S00016678|129|7|MPF|20090205|E
S00016678|129|7|MPF|20090305|E
S00016678|129|7|MPF|20090402|E
S00016678|129|7|MPF|20090504|E
S00016678|129|7|MPF|20090602|E
S00016678|129|7|MPF|20090702|E
S00016678|129|7|MPF|20090804|E
S00016678|129|7|MPF|20090902|E
S00016678|129|7|MPF|20091006|E
S00016678|129|7|MPF|20091103|E
S00016678|129|7|MPF|20091203|E
S00017768|45|7|MPF|20081208|E
S00017768|45|7|MPF|20090113|E
S00017768|45|7|MPF|20090218|E
S00017768|90|7|MPF|20090309|E
S00017768|45|7|MPF|20090506|E
S00017768|45|7|MPF|20090605|E
S00017768|45|7|MPF|20090708|E
S00017768|45|3|MPF|20090811|E
S00017768|-45|3|MPF|20090811|E
S00017768|45|7|MPF|20090812|E
S00017768|45|7|MPF|20090915|E
S00017768|45|7|MPF|20091005|E
S00017768|45|7|MPF|20091104|E
S00017768|45|7|MPF|20091210|E
S00049990|258|7|MPF|20090408|E
S00049990|129|7|MPF|20090513|E
S00049990|129|7|MPF|20090612|E
S00049990|129|7|MPF|20090710|E
S00049990|129|7|MPF|20090812|E
S00049990|129|7|MPF|20090909|E
S00049990|129|7|MPF|20091009|E
S00049990|129|7|MPF|20091110|E
S00049990|129|7|MPF|20091210|E
S00059081|138|7|MPF|20080311|E
S00059081|133|7|MPF|20080331|E
S00059081|133|7|MPF|20081211|E
S00059081|128|7|MPF|20090106|E
S00059081|5|7|MPF|20090203|E
S00059081|123|7|MPF|20090203|E
S00059081|5|7|MPF|20090310|E
S00059081|60|7|MPF|20090310|E
S00059081|128|3|MPF|20090421|E
S00059081|5|3|MPF|20090421|E
S00059081|68|7|MPF|20090407|E

File 2 :${SHTEMP}NPBR1.XTR.final

Code:
S00016678|MIDDL|0|MR|019221521A||RL|STD|0|0||E
S00017768|ESSEX|0|MR|018163650A||R|STD|0|0||E
S00059081|PLYMO|0|MR|024266906A||VR|STD|0|0||E
S00001153|MIDDL|0|MR|018099911D||P|STD|0|0||E
S00001156|NORFO|0|MR|010225966A||P|STD|0|0||E
S00001167|MIDDL|0|MR|014143292A||P|STD|0|0||E
S00001263|MIDDL|0|MR|020105100A||P3|STD|0|0||E
S00001283|MIDDL|0|MR|021203506A||P|STD|0|0||E
S00001309|MIDDL|0|MR|010261774A||P|STD|0|0||E
S00001321|MIDDL|0|MR|020206784A||P|STD|0|0||E
S00001382|MIDDL|0|MR|025206271A||P|STD|0|0||E
S00001401|MIDDL|0|MR|030243897A||P|STD|0|0||E
S00001416|MIDDL|0|MR|029071547A||P|STD|0|0||E
S00001423|MIDDL|0|MR|027120380D||R3|STD|0|0||E
S00001441|1044|0|MR|002224916A||U|EG GIC SRX|0|0||E
S00001460|NORFO|0|MR|021208553D||RK|STD|0|0||E
S00001485|1143|0|MR|029127847D||U|EG SRX|0|0||E
S00001493|ESSEX|0|MR|028205925D||RK|STD|0|0||E

Code tried :

Code:
join -t"|" -1 1 -2 1 -o 1.1 1.2 1.3 1.4 1.5 1.6 ${SHTEMP}NPBR5.XTR.tmp ${SHTEMP}NPBR1.XTR.final > ${SHTEMP}NPBR5.XTR.tmp1

Is there a way in awk or sed to do this.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

join not working

I was trying to merge the following two example files using their first field: join -1 1 -2 1 file1 file 2 but nothing is produced. The expected result should be: rs1005152 7 q21.3 3 It appears that the length of the first field in file1 is causing the problem. Any suggesting on how to... (12 Replies)
Discussion started by: gamma_user
12 Replies

2. Shell Programming and Scripting

Merging fields --- Join is not working

Hi GUYS sorry for putting simple query. I have tried the methods posted previously in this site but I'm unable to join the similar values in different columns of different files. I used sort -u file1 and join but no use.?? I'm attaching my inputfiles.Plz chek them I have two files. 1st file... (10 Replies)
Discussion started by: repinementer
10 Replies

3. UNIX for Dummies Questions & Answers

Join 2 files with multiple columns: awk/grep/join?

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

4. Shell Programming and Scripting

String comparision not working

have written a simple shell script to do some automation work. Basically the script searches for all the files in the current path and if the file is a specified one, it does some action. Below are the relevant lines --- #!/bin/bash 1.for i in ls * 2.do 3.if 4.then .... //do something... (3 Replies)
Discussion started by: Dev_Sharma987
3 Replies

5. Shell Programming and Scripting

Bash join script not working

So i'm currently working on a project where I'm attempting to display information of users from the /etc/passwd file and also another information file holding addition information about users. Problem is I've been trying to join the two files together and have all of the information about each... (2 Replies)
Discussion started by: Nostyx
2 Replies

6. Shell Programming and Scripting

Fixed width file comparision not working

when i used diff/cmp/cat -v commands i am getting the difference cmp command cmp -l file1 file2 |head -1 1300 15 10 Manually checked records. record length and data matched. diff file1 file2 3C3 <record information Manually checked records. record length and data matched.... (4 Replies)
Discussion started by: onesuri
4 Replies

7. UNIX for Dummies Questions & Answers

A simple join, but nothing is working out for me

Guys, I want to join two files. You might have seen this many times. I just don't get the desired output. Searching the forum, No proper links :( Input: File1 test1 test2 test3 File2 is bad is not bad Output Needed: test1 is bad test2 is bad (4 Replies)
Discussion started by: PikK45
4 Replies

8. Shell Programming and Scripting

Join not working properly

I want to join two files , with file 1 col 3 and file 2 col 1 as key. The join command is erratic for some reason. File 2 is a master file having all the names, and file 1 has some values. I want to add the names from fil2 in file 1. If I use the original master file, some output is missing. ... (16 Replies)
Discussion started by: ritakadm
16 Replies

9. UNIX for Dummies Questions & Answers

Join not working

Hi all, I'm trying to use the join command to merge two files, but it's not finding lots of the matches. I have three files in total: File A: 31_77 34_46 72_61 85_10 85_23 110_33 144_45 154_25 154_90 170_5 170_44 217_63 255_19 333_20 333_23 333_32 (2 Replies)
Discussion started by: HEP
2 Replies

10. Shell Programming and Scripting

UNIX Join not working as expected

Hello All, I'm working on a Shell script to join data from two files using Join command but not able to get the desired output as its throwing me an error: I have sorted the two files on the Column 1 numerically which is used as Join clause File 1: 1,ABC,GGG,20160401 2,XYZ,KKK,20160401... (2 Replies)
Discussion started by: venkat_reddy
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 04:58 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy