Visit Our UNIX and Linux User Community


search pattern and mark/tag


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting search pattern and mark/tag
# 1  
Old 04-04-2011
search pattern and mark/tag

Hi All,

I have to search for patterns from a pattern file in a file and mark the matching lines.

Input File:

Code:
Student1 60 30
Student2 71 91
Student3 88 98

Pattern file:
Code:
Student1 Fail
Student2 Pass
Student2 Pass

Desired output:

Code:
Student1 60 30 Fail
Student2 71 91 Pass
Student3 88 98 Pass

Any help with awk or grep is greatly appreciated.
# 2  
Old 04-04-2011
Is there a typo in the last line of "Pattern file"? Is it supposed to begin with Student3? If so, are both files sorted by their common key (the first column)?
This User Gave Thanks to alister For This Post:
# 3  
Old 04-04-2011
Quote:
Originally Posted by alister
Is there a typo in the last line of "Pattern file"? Is it supposed to begin with Student3? If so, are both files sorted by their common key (the first column)?
Thanks for pointing it out. Indeed its a typo. Its supposed to be Student3! and yes, both the files are sorted by first column.
# 4  
Old 04-04-2011
Then you can probably just use join.
Code:
join input_file pattern_file

Regards,
Alister
This User Gave Thanks to alister For This Post:
# 5  
Old 04-04-2011
I guess this is homework, but since Alister has provided the solution, I'd like to provide the other.
Code:
awk 'NR==FNR{a[$1]=$2;next}{print $0,a[$1]}' pattern.file input.file

@ saint2006

Looks you can compare the mark directly in input.file to report the student fail or pass.

If you really want to learn shell, you can try to use input.file get the result directly. Compare the marks if both are great than 60, will be pass, otherwise, will be fail.
# 6  
Old 04-04-2011
Quote:
Originally Posted by rdcwayx
I guess this is homework, but since Alister has provided the solution
Ha! That hadn't occurred to me. I took it as a school teacher driven to unix scripting by the same budgetary constraints which sacked the sysadmin (not unlike the biologists and geneticists that often come here seeking help to process DNA and bat data). Smilie

Regards,
Alister
This User Gave Thanks to alister For This Post:

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Grep/awk using a begin search pattern and end search pattern

I have this fileA TEST FILE ABC this file contains ABC; TEST FILE DGHT this file contains DGHT; TEST FILE 123 this file contains ABC, this file contains DEF, this file contains XYZ, this file contains KLM ; I want to have a fileZ that has only (begin search pattern for will be... (2 Replies)
Discussion started by: vbabz
2 Replies

2. Shell Programming and Scripting

To search for a particular tag in xml and collate all similar tag values and display them count

I want to basically do the below thing. Suppose there is a tag called object1. I want to display an output for all similar tag values under heading of Object 1 and the count of the xmls. Please help File: <xml><object1>house</object1><object2>child</object2>... (9 Replies)
Discussion started by: srkmish
9 Replies

3. Shell Programming and Scripting

Search for a html tag and print the entire tag

I want to print from <fruits> to </fruits> tag which have <fruit> as mango. Also i want both <fruits> and </fruits> in output. Please help eg. <fruits> <fruit id="111">mango<fruit> . another 20 lines . </fruits> (3 Replies)
Discussion started by: Ashik409
3 Replies

4. Shell Programming and Scripting

Multiple Tag Search and Printing

Scenario: The following text belongs to a .doc file File: check1.asmFunction: MonksTag: NoTag: 001Tag: YesTag: 002File: check2.asmFunction: Perl MonksTag: YesTag: 003Tag: NoTag: 004File: check3.asmFunction: ExpertsTag: NoTag: 005Tag: NoTag: 006Function: Perl ExpertsTag: NoTag: 007Tag: YesTag: 008... (1 Reply)
Discussion started by: rajkrishna89
1 Replies

5. Shell Programming and Scripting

Search and filter by TAG

Hello all, searching on a text file (log file) is quite simple: grep -i texttosearch filename | grep somethingWhat I'm trying to do is filter the result by TAG and remove the double entries. Like if the log file contains the following text (fields are separated by commas): ... (18 Replies)
Discussion started by: Lord Spectre
18 Replies

6. Shell Programming and Scripting

Search for particular tag and arrange as coordinates

Hi I have a file whose sample contents are shown here, 1.2.3.4->2.4.2.4 a(10) b(20) c(30) 1.2.3.4->2.9.2.4 a(10) c(20) 2.3.4.3->3.6.3.2 b(40) d(50) c(20) 2.3.4.3->3.9.0.2 a(40) e(50) c(20) 1.2.3.4->3.4.2.4 a(10) c(30) 6.2.3.4->2.4.2.5 c(10) . . . . Here I need to search... (5 Replies)
Discussion started by: AKD
5 Replies

7. Shell Programming and Scripting

solved -gawk, search for pattern - mark the previous line as a variable?

Im trying to parse ifconfig with awk and setup a bunch of variables in one shot. But Im having trouble figuring out how to work with data in previous lines. ifconfig output: eth0 Link encap:Ethernet HWaddr 00:50:DA:10:7F:1B inet addr:10.10.10.10 Bcast:10.10.10.127 ... (0 Replies)
Discussion started by: trey85stang
0 Replies

8. UNIX for Dummies Questions & Answers

tag/mark a file with current absolute path

Hi all, I need to mark a file with it's current location in the file system before being moved. This will enable the file to be restored back to it's original location. Can anyone provide any ideas about the best way to do this, at present i'm trying to use readlink -m to strip off the... (1 Reply)
Discussion started by: skinnygav
1 Replies

9. Shell Programming and Scripting

search a pattern and if pattern found insert new pattern at the begining

I am trying to do some thing like this .. In a file , if pattern found insert new pattern at the begining of the line containing the pattern. example: in a file I have this. gtrow0unit1/gctunit_crrownorth_stage5_outnet_feedthru_pin if i find feedthru_pin want to insert !! at the... (7 Replies)
Discussion started by: pitagi
7 Replies

10. UNIX for Dummies Questions & Answers

Can and How to mark search strings within VI?

Hi all, When in 'less' or '-' or whatever your alias is, if you search for a string, you get all of it's occurences highlighted. Is there any option I can set in VI, .exrc or whtever, to have the same behaviour in VI? thanks (2 Replies)
Discussion started by: sierra_aar
2 Replies

Featured Tech Videos