Using grep to print just the pattern match


 
Thread Tools Search this Thread
Operating Systems Solaris Using grep to print just the pattern match
# 1  
Old 10-27-2009
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
# 2  
Old 10-27-2009
In grep, it is -o. I dont know whether this is available in your OS.

Code:
grep -o "pattern" FILE

# 3  
Old 11-28-2009
What is the point of this?
grep -l lists the files the pattern is found in,, you already know what the pattern is (although not how many times but a -c would show you that).
Yours intrigued...
# 4  
Old 11-28-2009
Quote:
Originally Posted by TonyFullerMalv
What is the point of this?
grep -l lists the files the pattern is found in,, you already know what the pattern is (although not how many times but a -c would show you that).
Yours intrigued...
I'm guessing, but if it's a REGEX then there is logic. There could be multiple types of match possible, and you might want all of them. In Solaris for example to get a list of disks from format.

That said, standard grep is the wrong tool for this, sed could do it quite well or gnu grep or even awk.
# 5  
Old 12-02-2009
I imagine that "pattern" would contain wildcards, so how would awk or sed do it?
# 6  
Old 12-03-2009
Hope this sed solution helps you,

Code:
$ cat t
google gooosdasasdgle derwsdfs
googsdfgle google sreogsds google gsdfsdfd
gooswoerjgle tosgsd towgsjsg googpoiwrwroiegle


$ sed '
s/^.*$/&\n/
:loop
s/^\n//
s/\(.*\)\( *goo.*gle *\)\(.*\)\n/\1\n\2/
t loop' t
google gooosdasasdgle 
googsdfgle google google 
gooswoerjgle googpoiwrwroiegle

The above command prints the words, which matches with the pattern "goo.*gle"

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 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 ----------------- CACA|1234 CA|2345 file2 data is below ----------------- CA NC TX Now I want to print the lines from file1 for the values present in file2. ... (5 Replies)
Discussion started by: ureddy
5 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. UNIX for Dummies Questions & Answers

Lynx Grep Pattern Match 2 conditions Print from Start to End

I am working on a scraping project and I am stuck at this tiny grep pattern match. Sample text : FPA List. FPA List. FPA List. FPA List. FPA List. FPA List. FPA List. FPA List. ABC Personal Planning Catherine K. Wat Cath Wat Catherine K. Wat Catherine K. Wat IFRAME:... (8 Replies)
Discussion started by: kkiran
8 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