LinuxQuestions.org
Register a domain and help support LQ
Go Back   LinuxQuestions.org > Forums > Linux > Linux - Newbie
User Name
Password
Linux - Newbie This forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices

Reply
 
Thread Tools
Old 01-07-2008, 05:01 PM   #1
new_2_unix
LQ Newbie
 
Registered: Oct 2007
Posts: 26
Thanked: 0
how to use grep to print just the matching expression and nothing else


[Log in to get rid of this advertisement]
hi,

i'm trying to do a simple thing where, lets say i have:

Code:
$ echo "Hello World"  | grep "Hello"

>> Hello World
This works as expected, but is there a way I can print just the matching regular expression?

So in the above example, only "Hello" would print.
new_2_unix is offline     Reply With Quote
Old 01-07-2008, 05:08 PM   #2
custangro
Senior Member
 
Registered: Nov 2006
Location: California
Distribution: Fedora 11, CentOS 5.3, Linux Mint 5, Solaris 10
Posts: 1,260
Thanked: 35
I would do it with sed...



Code:
echo "Hello World" | sed -e 's/World//g'
custangro is offline     Reply With Quote
Old 01-07-2008, 05:13 PM   #3
new_2_unix
LQ Newbie
 
Registered: Oct 2007
Posts: 26
Thanked: 0

Original Poster
this works in this example.
but it will not work as soon as the string changes to something else, for example "Hello World Once Again".

what i'm trying to do is that i have a line of HTML data, and i want to print just the selective HTML tags (and the text between them). i do not want to print the entire line.

any ideas on how i may do this will be much appreciated!
new_2_unix is offline     Reply With Quote
Old 01-07-2008, 05:24 PM   #4
matthewg42
Senior Member
 
Registered: Oct 2003
Location: UK
Distribution: Kubuntu (x86), Debian (PPC)
Posts: 3,495
Thanked: 6
Do you mean like the -o option (only matching)?
Code:
$ echo "hello world" |grep -o hello
hello
matthewg42 is offline     Reply With Quote
Old 01-07-2008, 05:28 PM   #5
pixellany
Moderator
 
Registered: Nov 2005
Location: Pasadena, CA
Distribution: Arch
Posts: 13,157
Thanked: 284
sed -n 's/.*\(from\).*/\1/p' filename

Finds from anywhere in a line and prints it. Only works for one instance

Edit: Matthew's grep -o method looks to be better.

Last edited by pixellany; 01-07-2008 at 05:31 PM..
pixellany is online now     Reply With Quote
Old 01-07-2008, 06:02 PM   #6
custangro
Senior Member
 
Registered: Nov 2006
Location: California
Distribution: Fedora 11, CentOS 5.3, Linux Mint 5, Solaris 10
Posts: 1,260
Thanked: 35
Quote:
Originally Posted by new_2_unix View Post
this works in this example.
but it will not work as soon as the string changes to something else, for example "Hello World Once Again".

what i'm trying to do is that i have a line of HTML data, and i want to print just the selective HTML tags (and the text between them). i do not want to print the entire line.

any ideas on how i may do this will be much appreciated!
Now that I know this... I agree with pixellany grep -o would work better.

-C
custangro is offline     Reply With Quote

Reply

Bookmarks


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Find/grep command to find matching files, print filename, then print matching content stefanlasiewski Programming 7 01-06-2008 03:10 AM
bourne shell pattern matching or regular expression powah Programming 2 06-30-2006 11:27 AM
Rular expression matching with java linuxmandrake Programming 2 04-13-2006 12:35 PM
regular expression matching linuxmandrake Programming 2 03-16-2006 07:00 AM


All times are GMT -5. The time now is 05:23 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
RSS2  LQ Podcast
RSS2  LQ Radio
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: @linuxquestions
Open Source Consulting | Domain Registration