Grepping for Exact Strings


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Grepping for Exact Strings
# 8  
Old 04-12-2009
I see your situation now..., not the perfect solution, but this might get you going:

Code:
sed 's: airplane : helicopter :g' filename 

# does not handle the case when line starts or ends with "airplane"

I'd switch to awk, perl,... for a more granular pattern check.
# 9  
Old 04-12-2009
sed 's/[ ]airplane[ ]/ helicoptor /g' myfile
# 10  
Old 04-12-2009
go through each word, and testing them against just the word "airplane"
Code:
awk '
{
  for(i=1;i<==NF;i++){
     if($i == "airplane"){
           print "Found airplane: " $0
     }
  }
}
' file

# 11  
Old 04-13-2009
try this
sed 's/' airplane '/' helicopter '/g'
and
sed 's/' airplane/.'/' helicopter/.'/g'
# 12  
Old 04-13-2009
the problem is . . . that your definition of word delimiter is different from sed's.
sed's includes any punctuation or any whitespace.

so.... we might do well with more information.

Are all these words in a comma-separated list, or similar?
# 13  
Old 04-13-2009
Quote:
Originally Posted by quirkasaurus
the problem is . . . that your definition of word delimiter is different from sed's.
sed's includes any punctuation or any whitespace.

so.... we might do well with more information.

Are all these words in a comma-separated list, or similar?

Some words are in comma-separated list, while others aren't. That is what I guess makes this a very complicated task to complete. Never imagined it'd be this hard to replace words in a file.
# 14  
Old 04-13-2009
well, anyway, a fun problem. Skysmart, try uploading a copy of the file and
let us all have a look.

One solution is to do something like this:

find all words that match any or all of your string.
( that is, the db-airplane, db-airplane.something, airplane ) etc...

Then, for any word that is NOT exactly airplane, go back through
the file and modify it first to something else.... for instance....
the capitalized version or tack-on airplaneDONOTEDIT to it.

Then, edit '\<airplane\>' as usual.

But to provide you the code for that, it would be helpful to have your original file.

I give the total estimate as 1 SMOP.
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