Sponsored Content
Top Forums Shell Programming and Scripting Displaying the first field if the second field matches the pattern using Perl Post 302726549 by royalibrahim on Sunday 4th of November 2012 08:20:58 PM
Old 11-04-2012
Displaying the first field if the second field matches the pattern using Perl

Hi,

I am trying with the below Perl command to print the first field when the second field matches the given pattern:
Code:
perl -lane 'open F, "< myfile"; for $i (<F>) {chomp $i; if ($F[1] =~ /patt$/) {my $f = (split(" ", $i))[0]; print "$f";}} close F' dummy_file

I know I can achieve the same with the following thread: https://www.unix.com/shell-programmin...s-pattern.html. But still I am curious why this code is not returning any expected result and how to correct it. Any help please.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Print line if first Field matches a pattern

Hi All, I would like my code to be able to print out the whole line if 1st field has a dot in the number. Sample input and expected output given below. My AWK code is below but it can;t work, can any expert help me ? Thanks in advance. {if ($1 ~ /*\.*/) { print $0 }} Input: ... (2 Replies)
Discussion started by: Raynon
2 Replies

2. Shell Programming and Scripting

Displaying lines of a file where the second field matches a pattern

Howdy. I know this is most likely possible using sed or awk or grep, most likely a combination of them together, but how would one go about running a grep like command on a file where you only try to match your pattern to the second field in a line, space delimited? Example: You are... (3 Replies)
Discussion started by: LordJezoX
3 Replies

3. Shell Programming and Scripting

adding field values if field matches

hi i have file as below , i want to add duplicate records like bell_bb to one record with valuve as 15 ( addition of both ) any oneline awk script to achive this ? header 0 CAMPAIGN_NAME 1 Bell_BB 14 Bell_MONTHLY 803 SOLO_UNBEATABLE 644 Bell_BB 1 Bell_MONTHLY 25 SOLO_UNBEATABLE... (4 Replies)
Discussion started by: raghavendra.cse
4 Replies

4. Shell Programming and Scripting

How to print line if field matches?

Hi all, I got several lines line this a b c d e 1 e a 1 c d e 3 f a b c 1 e 8 h a b c d e 1 w a 1 c d e 2 w a b c d e 1 t a b c d e 7 4 How can I print the line if 1 is the field one before the last field? Basicly this 2 field ? a b c d e 1 e a b c d e 1 t The file I got is... (7 Replies)
Discussion started by: stinkefisch
7 Replies

5. Shell Programming and Scripting

awk to sum specific field when pattern matches

Trying to sum field #6 when field #2 matches string as follows: Input data: 2010-09-18-20.24.44.206117 UOWEXEC db2bp DB2XYZ hostname 1 2010-09-18-20.24.44.206117 UOWWAIT db2bp DB2XYZ hostname ... (3 Replies)
Discussion started by: ux4me
3 Replies

6. Shell Programming and Scripting

AWK: Pattern match between 2 files, then compare a field in file1 as > or < field in file2

First, thanks for the help in previous posts... couldn't have gotten where I am now without it! So here is what I have, I use AWK to match $1 and $2 as 1 string in file1 to $1 and $2 as 1 string in file2. Now I'm wondering if I can extend this AWK command to incorporate the following: If $1... (4 Replies)
Discussion started by: right_coaster
4 Replies

7. Shell Programming and Scripting

Displaying a field completely

Version: AIX 6.1 (korn shell) In the below output, the field with the heading 'Address' has some names like hwproc214-priv1.gnas.wrd.netwhich are only partially displayed. $ netstat -i Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll en2 1500 link#2 ... (3 Replies)
Discussion started by: polavan
3 Replies

8. UNIX for Dummies Questions & Answers

Match pattern in a field, print pattern only instead of the entire field

Hi ! I have a tab-delimited file, file.tab: Column1 Column2 Column3 aaaaaaaaaa bbtomatoesbbbbbb cccccccccc ddddddddd eeeeappleseeeeeeeee ffffffffffffff ggggggggg hhhhhhtomatoeshhh iiiiiiiiiiiiiiii ... (18 Replies)
Discussion started by: lucasvs
18 Replies

9. UNIX for Dummies Questions & Answers

Displaying field of NR, not the line #

Within AWK, how do you display a field of NR? Here's my code: awk '(NR>1) && (P1=$1-w)>=100000 {print "increase of" " " P1*.0000179," " "kW at" " " 'NR*60/431900' " " "minutes" "\n" "change from" " " 'NR-10($1)' " " "kW to" " " 'NR+70($1)' "\n"}{w=$1}' filename I can change NR and print... (3 Replies)
Discussion started by: markymarkg123
3 Replies

10. Shell Programming and Scripting

Need to replace last field in a file,if first field matches

Hi, Need to replace last field in a file(/etc/passwd) ,if first filed matches with particular username. Scenario: cat testfor1 deekshi:x:7082:7082::/home/deekshi:/bin/bash harini1:x:7083:7083::/home/harini1:/bin/bash Here,if first field contains "deekshi", then i should replace... (4 Replies)
Discussion started by: Sumanthsv
4 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 04:14 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy