Grepping for Exact Strings


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Grepping for Exact Strings
# 1  
Old 04-12-2009
Grepping for Exact Strings

ok, apparently this is a very difficult question to answer based on my searches on google that came up fruitless.

what i want to do is grep through a file for words that match a specified string.

but the thing is, i keep getting all words in the file that have the string in them.

say for instance all I want from a file is the word "airplane". I want to replace this word "airplane" with "helicopter".

the problem is, in the file i'm using, there are several occurrences of the word "airplane". example: "airplanewomen, airplaneman, sweetairplane, sourairplane".

When i go to look for the word airplane, all these other strings come up, and I dont want them.

does anyone know of a way to grep out just the occurences of only the word "airplane" from a file?

by the way, grep -w doesn't work, neither does grep -x. neither those grep "^string".

i'm using ubuntu 8.
# 2  
Old 04-12-2009
try grep " airplane " or grep " airplane." for end of line
# 3  
Old 04-12-2009
grep "^airplane$"
# 4  
Old 04-12-2009
Quote:
Originally Posted by Gunther
grep "^airplane$"
i've actually tried this but nothing shows up.

do you know how sed can be used for this?
# 5  
Old 04-12-2009
Quote:
Originally Posted by krabu
try grep " airplane " or grep " airplane." for end of line
this seems to work. but how do i incorporate it into sed to replace just the occurences of airplane?
# 6  
Old 04-12-2009
Quote:
Originally Posted by SkySmart
...
say for instance all I want from a file is the word "airplane". I want to replace this word "airplane" with "helicopter".
...
the problem is, in the file i'm using, there are several occurrences of the word "airplane". example: "airplanewomen, airplaneman, sweetairplane, sourairplane".
...
i'm using ubuntu 8.
try this ...

Code:
sed 's:\<airplane\>:helicopter:g'  filename

# 7  
Old 04-12-2009
Quote:
Originally Posted by rubionis
try this ...

Code:
sed 's:\<airplane\>:helicopter:g'  filename


your code seems like it might do the trick. but let me give a bit more explanation of the problem im having.


sometimes in the file i'm using, there are words like this: db-airplane, db-12.airplane.

in cases like that, your code turns the words into db-helicopter, db-12.helicopter.

you see what i'm saying? I dont want the code to touch anything in the file that isn't "airplane", alone. all i want is to replace places were the airplane stands alone.

thanks you so much for your suggestions
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Extract between two Exact matched strings.

more data.txt i need this exacted from data.txt This is the command i tried sed -n "/Start_of_DISK_info:\/u/,/End_of_DISK_info:\/u/p" data.txtBut, unfortunately it does not do an exact match. Instead, it prints text between both these strings /u & /u/tmp like below. i need this... (6 Replies)
Discussion started by: mohtashims
6 Replies

2. Shell Programming and Scripting

Grepping exact pattern and deleting the rows

Hi All, I have the Input as below: 21011513 6030 5570 1710 0 0 5140 0 3430 3430 0 21049513 152340 138260 101210 0 0 134440 0 33880 33880 0 31003514 16100 13280 7580 3250 1530 15650 8090 8100 ... (22 Replies)
Discussion started by: am24
22 Replies

3. Shell Programming and Scripting

Grepping multiple strings from one column

I have 3-column tab separated data that looks like the following: act of+n-a-large+vn-tell-v 0.067427 act_com of+n+n-a-large-manufacturer-n 0.129922 act-act_com-com in+n-j+vn-pass-aux-restate-v 0.364499666667 com nmod+n-j+ns-invader-n 0.527521 act_com-com obj+n-a-j+vd-contribute-v 0.091413... (2 Replies)
Discussion started by: owwow14
2 Replies

4. Shell Programming and Scripting

echo exact xml tag from an exact file

Im stumped on this one. Id like to echo into a .txt file all names for an xml feed in a huge folder. Can that be done?? Id need to echo <name>This name</name> in client.xml files. $path="/mnt/windows/path" echo 'recording names' cd "$path" for names in $path than Im stuck on... (2 Replies)
Discussion started by: graphicsman
2 Replies

5. Shell Programming and Scripting

QUESTION1: grep only exact string. QUESTION2: find and replace only exact value with sed

QUESTION1: How do you grep only an exact string. I am using Solaris10 and do not have any GNU products installed. Contents of car.txt CAR1_KEY0 CAR1_KEY1 CAR2_KEY0 CAR2_KEY1 CAR1_KEY10 CURRENT COMMAND LINE: WHERE VARIABLE CAR_NUMBER=1 AND KEY_NUMBER=1 grep... (1 Reply)
Discussion started by: thibodc
1 Replies

6. Shell Programming and Scripting

How to extract exact strings in shell scripting

/Path/snowbird9/nrfCompMgrRave1230100920.log.gz:09/20/2010 06:14:51 ERROR Error Message. /Path/snowbird6/nrfCompMgrRave1220100920.log.gz:09/20/2010 06:14:51 ERROR Error Message. /Path/snowbird14/nrfCompMgrRave920100920.log.gz:09/20/2010 06:14:51 ERROR Error Message.... (0 Replies)
Discussion started by: Shirisha
0 Replies

7. Shell Programming and Scripting

Grepping Multiple Strings on the Same Line 'Or'

I've got this command that I've been using to find strings on the same line, say I'm doing a search for name: find . -name "*" | xargs grep -i "Doe" | grep -i "John" > output.txt This gives me every line in a file that has John and Doe in it. I'm looking to add a OR operator for the second... (5 Replies)
Discussion started by: Rally_Point
5 Replies

8. Shell Programming and Scripting

Grepping for two strings that MUST exist on the same line

Trying to find a way to grep for two names on a line. Both names must appear on the same line so '|' / OR is out. So far, I'm just messing around and I've got find . -name "*" | xargs grep "Smith" Let me explain. I'm at a top level and need to know all the names of the files that... (6 Replies)
Discussion started by: Rally_Point
6 Replies

9. Shell Programming and Scripting

Trouble grepping for multiple strings

I am having a heck of a time trying to write a script that will grep for multiple strings in a single file. I am really at my wits end here and I am hoping to get some feedback here. Basic information: OS: Solaris 9 Shell: KSH Oracle Database server I was trying to grep through a file... (5 Replies)
Discussion started by: thecoffeeguy
5 Replies

10. UNIX for Dummies Questions & Answers

Grepping for strings

Hello. I have a dir of 1500+ dir. In these dirs is a file host, with a tag <x_tag>. I need to : 1. grep for all dir that contain this host file that contain <x_tag> 2. print a list of these host files containing <x_tag> is this better to egrep this? (5 Replies)
Discussion started by: t4st33@mac.com
5 Replies
Login or Register to Ask a Question