Sponsored Content
Top Forums Shell Programming and Scripting Comparing two columns in two files and printing a third based on a match Post 303023508 by dis0wned on Tuesday 18th of September 2018 11:49:38 AM
Old 09-18-2018
Comparing two columns in two files and printing a third based on a match

Hello all, First post here. I did not notice a previous post to help me down the right path. I am looking to compare a column in a CSV file against another file (which is not a column match one for one) but more or less when a match is made, I would like to append a third column that contains a name to the end of the matching row. For instance:


File 1:
Code:
Hostname,Port,Name,Status,VLAN,Duplex,Speed,Type
switch1,gi2/1,trunk,active,1,a-100,full,10g,10GBase-CU 3M
switch1,gi3/1,link to data closet,disabled,2,half,a-1000,No XCVR
etc..

File 2:
Code:
VLAN,Name,Status,Ports,Device
1,default,active,gi1/1,switch5
2,voice,active,gi2/1,switch5
etc...

Desired Output File:


Code:
Hostname,Port,Name,Status,VLAN,Duplex,Speed,Type,VLAN Name
switch1,gi2/1,trunk,active,1,a-100,full,10g,10GBase-CU 3M,default
switch1,gi3/1,link to data closet,disabled,2,half,a-1000,No XCVR,voice


To condense what Im trying to accomplish, I want to create a third file that will have an additional column that appends the vlan name when a match is made. When a match is not made, NA is fine.

Thanks for any help, I've been struggling with SED and AWK
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Comparing Columns and printing the difference from a particular file

Gurus, I have one file which is having multiple columns and also this file is not always contain the exact columns; sometimes it contains 5 columns or 12 columns. Now, I need to find the difference from that particular file. Here is the sample file: param1 | 10 | 20 | 30 | param2 | 10 |... (6 Replies)
Discussion started by: buzzusa
6 Replies

2. Shell Programming and Scripting

printing words based on column match

pls help Input: file1 word1 text1 word2 text2 word3 text3 file2 word1 text11 word3 text13 can u pls help in getting the same output: file1 text1 text2 text3 (1 Reply)
Discussion started by: bha148
1 Replies

3. Shell Programming and Scripting

Comparing two files and printing 2nd column if match found

Hi guys, I'm rather new at using UNIX based systems, and when it comes to scripting etc I'm even newer. I have two files which i need to compare. file1: (some random ID's) 451245 451288 136588 784522 file2: (random ID's + e-mail assigned to ID) 123888 xc@xc.com 451245 ... (21 Replies)
Discussion started by: spirm8
21 Replies

4. UNIX for Dummies Questions & Answers

Comparing the 2nd column in two different files and printing corresponding 9th columns in new file

Dear Gurus, I am very new to UNIX. I appreciate your help to manage my files. I have 16 files with equal number of columns in it. Each file has 9 columns separated by space. I need to compare the values in the second column of first file and obtain the corresponding value in the 9th column... (12 Replies)
Discussion started by: Unilearn
12 Replies

5. UNIX for Dummies Questions & Answers

Comparing two text files by a column and printing values that do not match

I have two text files where the first three columns are exactly the same. I want to compare the fourth column of the text files and if the values are different, print that row into a new output file. How do I go about doing that? File 1: 100 rs3794811 0.01 0.3434 100 rs8066551 0.01... (8 Replies)
Discussion started by: evelibertine
8 Replies

6. UNIX for Dummies Questions & Answers

Comparing two test files and printing out the values that do not match

Hi, I have two text files with matching first columns. Some of the values in the second column do not match. I want to write a script to print out the rows (only the first column) where the values in the second column do not match. Example: Input 1 A 1 B 2 C 3 D 4 Input 2 A 2 B 2... (6 Replies)
Discussion started by: evelibertine
6 Replies

7. Shell Programming and Scripting

Match files based on either of the two columns awk

Dear Shell experts, I have 2 files with structure: File 1: ID and count head test_GI_count1.txt 1000094 2 10039307 1 10039641 1 10047177 11 10047359 1 1008555 2 10120302 1 10120672 13 10121776 1 10121865 32 And 2nd file: head Protein_gi_GeneID_symbol.txt protein_gi GeneID... (11 Replies)
Discussion started by: smitra
11 Replies

8. Shell Programming and Scripting

Comparing Select Columns from two CSV files in UNIX and create a third file based on comparision

Hi , I want to compare first 3 columns of File A and File B and create a new file File C which will have all rows from File B and will include rows that are present in File A and not in File B based on First 3 column comparison. Thanks in advance for your help. File A A,B,C,45,46... (2 Replies)
Discussion started by: ady_koolz
2 Replies

9. Shell Programming and Scripting

awk pattern match not printing desired columns

Hi all, I'm trying to match the following two files with the code below: awk -F, 'NR==FNR {a=$0; next} ($12,$4) in a {print $12,$1,a}' OFS="," file4.csv file3.csv but the code does not print the entire row from file4 in addition to column 12 and 1 of file3. file4: o,c,q,co,ov,b... (1 Reply)
Discussion started by: bkane3
1 Replies

10. UNIX for Beginners Questions & Answers

Data match 2 files based on first 2 columns matching only and join if match

Hi, i have 2 files , the data i need to match is in masterfile and i need to pull out column 3 from master if column 1 and 2 match and output entire row to new file I have tried with join and awk and i keep getting blank outputs or same file is there an easier way than what i am... (4 Replies)
Discussion started by: axis88
4 Replies
VLAN(4) 						   BSD Kernel Interfaces Manual 						   VLAN(4)

NAME
vlan -- IEEE 802.1Q VLAN network interface SYNOPSIS
To compile this driver into the kernel, place the following lines in your kernel configuration file: device vlan Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5): if_vlan_load="YES" DESCRIPTION
The vlan driver demultiplexes frames tagged according to the IEEE 802.1Q standard into logical vlan network interfaces, which allows rout- ing/bridging between multiple VLANs through a single switch trunk port. Each vlan interface is created at runtime using interface cloning. This is most easily done with the ifconfig(8) create command or using the cloned_interfaces variable in rc.conf(5). To function, a vlan interface must be assigned a parent interface and numeric VLAN tag using ifconfig(8). A single parent can be assigned to multiple vlan interfaces provided they have different tags. The parent interface is likely to be an Ethernet card connected to a properly configured switch port. The VLAN tag should match one of those set up in the switched network. Initially vlan assumes the same minimum length for tagged and untagged frames. This mode is selected by the sysctl(8) variable net.link.vlan.soft_pad set to 0 (default). However, there are network devices that fail to adjust frame length, should it fall below the allowed minimum due to untagging. Such devices should be able to interoperate with vlan after changing the value of net.link.vlan.soft_pad to 1. In the latter mode, vlan will pad short frames before tagging them so that their length stays not less than the minimum value after untagging by the non-compliant devices. HARDWARE
The vlan driver supports efficient operation over parent interfaces that can provide help in processing VLANs. Such interfaces are automati- cally recognized by their capabilities. Depending on the level of sophistication found in a physical interface, it may do full VLAN process- ing or just be able to receive and transmit long frames (up to 1522 bytes including an Ethernet header and FCS). The capabilities may be user-controlled by the respective parameters to ifconfig(8), vlanhwtag and vlanmtu. However, a physical interface is not obliged to react to them: It may have either capability enabled permanently without a way to turn it off. The whole issue is very specific to a particular device and its driver. By now, the list of physical interfaces able of full VLAN processing in the hardware is limited to the following devices: ae(4), age(4), alc(4), ale(4), bce(4), bge(4), cxgb(4), em(4), ixgb(4), jme(4), msk(4), nge(4), re(4), sge(4), stge(4), ti(4), txp(4), and vge(4). The rest of the Ethernet interfaces can run VLANs using software emulation in the vlan driver. However, some of them lack the capability of transmitting and receiving long frames. Assigning such an interface as the parent to vlan will result in a reduced MTU on the corresponding vlan interfaces. In the modern Internet, this is likely to cause tcp(4) connectivity problems due to massive, inadequate icmp(4) filtering that breaks the Path MTU Discovery mechanism. The following interfaces support long frames for vlan natively: bfe(4), cas(4), dc(4), fwe(4), fxp(4), gem(4), hme(4), le(4), nfe(4), nve(4), rl(4), sf(4), sis(4), sk(4), ste(4), tl(4), tx(4), vr(4), and xl(4). The vlan driver automatically recognizes devices that natively support long frames for vlan use and calculates the appropriate frame MTU based on the capabilities of the parent interface. Some other interfaces not listed above may handle long frames, but they do not advertise this ability of theirs. The MTU setting on vlan can be corrected manually if used in conjunction with such a parent interface. SEE ALSO
ifconfig(8), sysctl(8) BUGS
No 802.1Q features except VLAN tagging are implemented. BSD
April 14, 2010 BSD
All times are GMT -4. The time now is 05:11 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy