Print only match pattern


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Print only match pattern
# 1  
Old 07-10-2014
Wrench Print only match pattern

Hi,

I want to print the lines from file1 which has the matching pattern from file2 in linux.

file1 data is below
Code:
-----------------
CACA|1234
CA|2345

file2 data is below
Code:
-----------------
CA
NC
TX

Now I want to print the lines from file1 for the values present in file2.

1. print the string which occurs more than once. In this case the out i need to get is CACA|1234

2. Print the string which occurs only once. in this case the output i need to get is CA|2345

can any one help me how to do this please

Last edited by jim mcnamara; 07-10-2014 at 07:43 AM..
# 2  
Old 07-10-2014
For starters

Code:
grep - o '[pattern]'  file

prints just the pattern, nothing else -- GNU grep only, which normally is part of a Linux distribution.
# 3  
Old 07-10-2014
thanks for the reply. but i need to print the lines
# 4  
Old 07-10-2014
Code:
 
grep -f file2 file1

This will help you print lines from file1 that matches patterns in file2

Last edited by Scrutinizer; 07-10-2014 at 11:22 AM.. Reason: ICODE -> CODE tags
# 5  
Old 07-10-2014
Code:
awk -F"|" 'FNR==NR{a[$1];next}$1 in a' file2 file1


Last edited by Scrutinizer; 07-10-2014 at 11:21 AM.. Reason: CODE tags
# 6  
Old 07-10-2014
hi,

there are two cases here.
1. print the string which occurs more than once into seperate file
2. Print the string which occurs only once into seperate file

so need to capture the output into seperate files.

the above solutions all are capturing either one or more occurences of string to a single file.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Match Pattern and print pattern and multiple lines into one line

Hello Experts , require help . See below output: File inputs ------------------------------------------ Server Host = mike id rl images allocated last updated density vimages expiration last read <------- STATUS ------->... (4 Replies)
Discussion started by: tigerhills
4 Replies

2. Shell Programming and Scripting

Print occurrences for pattern match

Hi All, I want to print all the occurrences for a particular pattern from a file. The catch is that the pattern search is partial and if any word in the file contains the pattern, that complete word has to be printed. If there are multiple words matching the pattern on a specific line, then all... (2 Replies)
Discussion started by: decci_7
2 Replies

3. Shell Programming and Scripting

Print only next pattern in a line after a pattern match

I have 2013-06-11 23:55:14 1Umexd-0004cm-IG <= user@domain.com I need sed/awk operation on this, so that it should print the very next pattern only after the the pattern mach <= ie only print user@domain.com (7 Replies)
Discussion started by: anil510
7 Replies

4. UNIX for Dummies Questions & Answers

Match Pattern after certain pattern and Print words next to Pattern

Hi experts , im new to Unix,AWK ,and im just not able to get this right. I need to match for some patterns if it matches I need to print the next few words to it.. I have only three such conditions to match… But I need to print only those words that comes after satisfying the first condition..... (2 Replies)
Discussion started by: 100bees
2 Replies

5. Shell Programming and Scripting

Script to match a pattern and print only the pattern and after that

Hi, I am writing a shell script to parse some files, and gather data. The data in the files is displayed as below. .......xyz: abz: ...... .......xyz: abz: ..... I have tried using awk and cut, bu the position of these values keep changing, so I can use awk and split it into columns. ... (14 Replies)
Discussion started by: Serena
14 Replies

6. Shell Programming and Scripting

Need one liner to search pattern and print everything expect 6 lines from where pattern match made

i need to search for a pattern from a big file and print everything expect the next 6 lines from where the pattern match was made. (8 Replies)
Discussion started by: chidori
8 Replies

7. Shell Programming and Scripting

match pattern 1 and print or match pattern 2 and print

hi all basically i have file called rules which contain lines like below /usr/bwmgr/utils/bwmgr em1 -x 735 -name user92 -addr 10.10.201.92 -addrmsk 255.255.255.252 -bwout 1024000 -bwin 2048000 -statsdevice user92 -stats /usr/bwmgr/utils/bwmgr em1 -x 45032 -name user246 -addr 10.10.224.246... (2 Replies)
Discussion started by: sb245
2 Replies

8. Solaris

Using grep to print just the pattern match

Hi all, Is it possible for grep to output just the pattern match and not the whole line when it comes across a match? I know you can adjust the number of trailing or leading lines that are printed, but am yet to find anything that outputs just the pattern match. Cheers, Tim (5 Replies)
Discussion started by: muzzaw
5 Replies

9. Shell Programming and Scripting

Use to awk to match pattern, and print the pattern

Hi, I know how to use awk to search some expressions like five consecutive numbers, , this is easy. However, how do I make awk print the pattern that is been matched? For example: input: usa,canada99292,japan222,france59664,egypt223 output:99292,59664 (6 Replies)
Discussion started by: grossgermany
6 Replies

10. Shell Programming and Scripting

match a pattern, print it and the next line

I have a file nbu_faq.txt (Question/answer) which looks like this What I am trying to do is write out each question in a file1.txt and than the question/answer in a file2.txt like this file1.txt Q: What is nbu? Q: What is blablabla...? Q: Why ....? file2.txt Q: What is nbu? A:... (4 Replies)
Discussion started by: nymus7
4 Replies
Login or Register to Ask a Question