Sponsored Content
Top Forums UNIX for Beginners Questions & Answers If pattern in column 3 matches pattern in column 2 (any row), print value in column 1 Post 303035828 by bleedingturnip on Tuesday 4th of June 2019 09:23:38 AM
Old 06-04-2019
If pattern in column 3 matches pattern in column 2 (any row), print value in column 1

Hi all,

I have searched and searched, but I have not found a solution that quite fits what I am trying to do.

I have a long list of data in three columns. Below is a sample:

Code:
1,10,8
2,12,10
3,13,12
4,14,14
5,15,16
6,16,18

Moderator's Comments:
Mod Comment Please use code tags

What I need to do is as follows: If a number in column three matches a number in column two, print "," and the number in the corresponding row in column one. If there is no match, just print ",". So an expected result for the sample would be as follows:

Code:
1,10,8,
2,12,10,1
3,13,12,2
4,14,14,4
5,15,16,6
6,16,18,

I've assumed that AWK would be the best tool for this task, but I am open to using any tool. The solutions I have found and tried only match corresponding rows. They don't match a pattern in one column to any pattern in another column. I'm guessing a loop may be required, but I am a novice to looping.

The values in column one are just the ordinal numbers for the rows, if that is relevant to a solution.

I am very grateful for any help. Thank you.

Last edited by jim mcnamara; 06-04-2019 at 10:30 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

replace a column in a file if it matches certain pattern

Hi, I want to replace a column in a file if it matches certain pattern. Can you help me on this. Here is the file content. 000000 1111111 2222222 011111 0123445 1234556 023445 1111111 2343455 if second column contains 1111111 i need to replace it with 0000000 Can you... (6 Replies)
Discussion started by: Krrishv
6 Replies

2. Shell Programming and Scripting

column to row conversion with additional pattern

Hi there, I've an input file1 as follows: 1001 1002 1003 1004 1005 I would like to have an output file2 as follows: Numbers are 1001/ 1002/ 1003/ 1004/ 1005/ Any help is appreciated. (2 Replies)
Discussion started by: kbirde
2 Replies

3. Shell Programming and Scripting

need to remove duplicates based on key in first column and pattern in last column

Given a file such as this I need to remove the duplicates. 00060011 PAUL BOWSTEIN ad_waq3_921_20100826_010517.txt 00060011 PAUL BOWSTEIN ad_waq3_921_20100827_010528.txt 0624-01 RUT CORPORATION ad_sade3_10_20100827_010528.txt 0624-01 RUT CORPORATION ... (13 Replies)
Discussion started by: script_op2a
13 Replies

4. Shell Programming and Scripting

Replace column that matches specific pattern, with column data from another file

Can anyone please help with this? I have 2 files as given below. If 2nd column of file1 has pattern foo1@a, find the matching 1st column in file2 & replace 2nd column of file1 with file2's value. file1 abc_1 foo1@a .... abc_1 soo2@a ... def_2 soo2@a .... def_2 foo1@a ........ (7 Replies)
Discussion started by: prashali
7 Replies

5. Shell Programming and Scripting

Row to column transpose between same pattern.

Hi All, I have been trying to transpose rows to column in an large file (about 15000 lines) between matching pattern. Searched all posts in this forum, but not able find the solution to my problem. Any help appreciated.!! Input /*------XXXXXX-------*/ owner: XXXX location: XXXX... (3 Replies)
Discussion started by: RobP
3 Replies

6. UNIX for Dummies Questions & Answers

awk to print first row with forth column and last row with fifth column in each file

file with this content awk 'NR==1 {print $4} && NR==2 {print $5}' file The error is shown with syntax error; what can be done (4 Replies)
Discussion started by: cdfd123
4 Replies

7. Shell Programming and Scripting

Print every 5 4th column values as separate row with different first column

Hi, I have the following file, chr1 100 200 20 chr1 201 300 22 chr1 220 345 23 chr1 230 456 33.5 chr1 243 567 90 chr1 345 600 20 chr1 430 619 21.78 chr1 870 910 112.3 chr1 914 920 12 chr1 930 999 13 My output would be peak1 20 22 23 33.5 90 peak2 20 21.78 112.3 12 13 Here the... (3 Replies)
Discussion started by: jacobs.smith
3 Replies

8. Shell Programming and Scripting

Difference of the same column when two other column matches and one column differs less than 1 hour

This is my input file : # cat list 20130430121600, cucm, location,76,2 20130430121600,cucm1,location1,76,4 20130430122000,cucm,location,80,8 20130430122000,cucm1,location1,90,8 20130430140000,cucm1,location1,87,11 20130430140000, cucm,location,67,9 This is the required output ... (1 Reply)
Discussion started by: Lakshmikumari
1 Replies

9. Shell Programming and Scripting

awk Print New Column For Every Two Lines and Match On Multiple Column Values to print another column

Hi, My input files is like this axis1 0 1 10 axis2 0 1 5 axis1 1 2 -4 axis2 2 3 -3 axis1 3 4 5 axis2 3 4 -1 axis1 4 5 -6 axis2 4 5 1 Now, these are my following tasks 1. Print a first column for every two rows that has the same value followed by a string. 2. Match on the... (3 Replies)
Discussion started by: jacobs.smith
3 Replies

10. Shell Programming and Scripting

Remove entire line from a file if 1st column matches a pattern

I have one requirement to delete all lines from a file if it matches below scenario. File contains three column. Employee Number, Employee Name and Employee ID Scenario is: delete all line if Employee Number (1st column) contains below 1. Non-numeric Employee Number 2. Employee Number that... (3 Replies)
Discussion started by: anshu ranjan
3 Replies
EvmEventNameMatch(3)					     Library Functions Manual					      EvmEventNameMatch(3)

NAME
EvmEventNameMatch(), EvmEventNameMatchStr() - match EVM event name SYNOPSIS
Library EVM Support Library Parameters pattern The event name pattern sought. The pattern may be any valid event name string. It may include wildcard characters in place of any component. event The event containing the event name to be compared against the pattern. match The result of the match. This operand is set to if the name matches the pattern, and to if it does not. candidate A character string to be matched against the pattern DESCRIPTION
Because special matching rules apply when deciding whether a candidate event name matches a known name, the EVM name matching functions should be used for matching purposes, rather than the C string comparison functions The EVM functions match an event name against a sup- plied pattern, ignoring any trailing appended components in the candidate name, and correctly matching wildcard characters. The function takes an event and an event name pattern as input, and returns an indication of whether the event contains a name which matches the pattern in the match output argument. The pattern may be any valid event name string, and may also include wildcard characters in place of any component. A wildcard in the pattern matches zero or more name components. A matches exactly one component. A match occurs if the event name matches all components indicated by the pattern, even if the name has additional trailing elements. The function performs the same check as but takes a character string as the candidate event name, instead of extracting the candidate event name from a supplied event. Both functions set the match output argument to if the name matches the pattern, and to if it does not. RETURN VALUE
The operation completed without error. The comparison was successful. The value of the match operand indicates whether the name matches the pattern. One of the arguments to the function is invalid. The supplied pattern contains invalid characters. The supplied event does not contain a name. ERRORS
The value of is not set. SEE ALSO
Routines memccpy(3C), strcat(3C). Event Management EVM(5). EVM Events EvmEvent(5). EvmEventNameMatch(3)
All times are GMT -4. The time now is 08:54 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy