This week's book giveaway is in the OCPJP forum.
We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line!
See this thread for details.
The moose likes Linux / UNIX and the fly likes Get the exact string - not the entire line using grep Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCA/OCP Java SE 7 Programmer I & II Study Guide this week in the OCPJP forum!
JavaRanch » Java Forums » Engineering » Linux / UNIX
Bookmark "Get the exact string - not the entire line using grep" Watch "Get the exact string - not the entire line using grep" New topic
Author

Get the exact string - not the entire line using grep

yuga devi
Greenhorn

Joined: Aug 07, 2008
Posts: 22
Hi,


Is there any command in unix, to grep the exact word from a file, not the entire line. I have tried using grep -w, but it returns the entire line.

For ex, my file consists of

Log14534|0A353C0B.4A9282E3.00012623.00002EBE|[color=red]123456789|START TRANSACTION|host1|Mon Aug 24 08:56:27 EDT 2009|[/color]

In this, i want to grep, dynamically passing the unique no "123456789" and need to ge the word, "START TRANSACTION".

Please help.
-- Yuga
yuga devi
Greenhorn

Joined: Aug 07, 2008
Posts: 22
Hi, -sorry for the confusion in the highlighted color


Is there any command in unix, to grep the exact word from a file, not the entire line. I have tried using grep -w, but it returns the entire line.

For ex, my file consists of

Log14534|0A353C0B.4A9282E3.00012623.00002EBE|123456789|START TRANSACTION|host1|Mon Aug 24 08:56:27 EDT 2009|

In this, i want to grep, dynamically passing the unique no "123456789" and need to ge the word, "START TRANSACTION".

Please help.
-- Yuga


Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42371
    
  64
grep is line-oriented - it can't return partial results. But you can pipe its output into another tool -like sed or awk- that can extract parts of lines.


Ping & DNS - my free Android networking tools app
Stefan Wagner
Ranch Hand

Joined: Jun 02, 2003
Posts: 1923

yuga devi wrote:Log14534|0A353C0B.4A9282E3.00012623.00002EBE|123456789|START TRANSACTION|host1|Mon Aug 24 08:56:27 EDT 2009|

In this, i want to grep, dynamically passing the unique no "123456789" and need to ge the word, "START TRANSACTION".


egrep is the extended grep to match regular expressions.
-o is a switch to output only matching parts.

I understood that you search for 12..9 and want the next string as result.


The pipesymbol | has to be masked, because egrep would else threat it as OR.

Result: 123456789|START TRANSACTION|


http://home.arcor.de/hirnstrom/bewerbung
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Get the exact string - not the entire line using grep