grep for word


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting grep for word
# 1  
Old 04-22-2008
grep for word

Hi, I'm a little confused with the grep options and can't seem to find the correct one I need. I basically want to grep a file for a word with the pattern in it. I tried:

Code:
grep -w word file

But this just returns word if it's in there somewhere. I want the full word that that pattern is in so if my file looks like

this is a file
and here is someword

I want it to return:

someword
# 2  
Old 04-22-2008
work with returncodes...

Code:
grep -w yourword yourfile 2>/dev/null
if [ $? -eq "0" ]
then
 echo "yourword found"
else
 echo "yourword NOT found"
fi

do a little finetuning on the above "script" to fit your needs...

hth,
DN2
# 3  
Old 04-22-2008
Quote:
Originally Posted by eltinator
Hi, I'm a little confused with the grep options and can't seem to find the correct one I need. I basically want to grep a file for a word with the pattern in it. I tried:

Code:
grep -w word file

But this just returns word if it's in there somewhere. I want the full word that that pattern is in so if my file looks like

this is a file
and here is someword

I want it to return:

someword
Add the -o option.
Quote:
-o, --only-matching
Show only the part of a matching line that matches PATTERN.
-w, --word-regexp
Select only those lines containing matches that form whole words. The test is that the matching sub-
string must either be at the beginning of the line, or preceded by a non-word constituent character.
Similarly, it must be either at the end of the line or followed by a non-word constituent character.
Word-constituent characters are letters, digits, and the underscore.
Code:
grep -ow pattern inpufile

Jean-Pierre.
# 4  
Old 04-22-2008
hmm the -ow option didnt seem to work. I tried changing the ordering of it too but it didnt return anything at all. Do I need to pipe it or anything?
# 5  
Old 04-22-2008
grep -ow word will find "word" but not "someword". A pattern which matches the entire word in which the search pattern is embedded would be something like

Code:
grep -ow '[A-Za-z]*word[A-Za-z]*' file

This says if there are any A-Z or a-z characters before or after, those are included in the pattern (and thus in what should be printed by -o). Then I guess you don't really need the -w option because the specified pattern already takes care of matching an entire word.

If you want "quote" marks, 'single' quotes, hyp-hens or abbr'viation apostrophes, you need to change the pattern slightly. Getting it perfectly right for all possible English words is not easy (and perhaps not even doable, depending on how you define "all", "possible", and "English").
# 6  
Old 04-22-2008
cool thanks for the help =D
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep for a word or word with underscore

I have a file "test" with following contents: cat test abc abcd_efg abc_abc I want to only grep for abc or abc_ without getting other results, how do I achieve this? If I use grep -w abc test option I get only abc and not abc_. If I use egrep "abc|abc_" test its still printing... (3 Replies)
Discussion started by: ctrld
3 Replies

2. Shell Programming and Scripting

Need a word which just comes next to after grep of a specific word

Hi, Below is an example : ST1 PREF: int1 AVAIL: int2 ST2 PREF :int1 AVAIL: int2 I need int1 to come in preferred variable while programming and int2 in available variable Please help me doing so Best regards, Vishal (10 Replies)
Discussion started by: Vishal_dba
10 Replies

3. Shell Programming and Scripting

Grep two word and one word with if

so far I have the following , it work, if grep -w "Hi"\|"Hello" /home/my.log 2>&1 > /dev/null then EMAIL_ADDR="aaa@gmail.com" echo "Please view the error messages on attached file " | mutt -a ~/error_report.txt -s "hi `date +"%d-%m-%Y"`" "$EMAIL_ADDR" fi But :(I want to add if... (6 Replies)
Discussion started by: Hscript
6 Replies

4. Shell Programming and Scripting

How ti Grep for a word and print the next word

Hi can we grep for a word and print the next word of the greped word? ex:- create or replace function function_name create function function_name we should search for word "function" and output next word "function_name" from both lines. (3 Replies)
Discussion started by: manasa_vs
3 Replies

5. Shell Programming and Scripting

grep part of word or Another word from a string

Hi all, FileOne family balance >>>>> 0 0 0 0 java.io.FileNotFoundException: Settings.xml (No such file or directory) at java.io.FileInputStream.open(Native Method) .. .... ..... ..... java.lang.NullPointerException ... ..... ...... Stacktrace: at... (2 Replies)
Discussion started by: linuxadmin
2 Replies

6. Shell Programming and Scripting

How to grep a word and next column to that word?

Hi, I have input file as below. Can you help me? inac_4y;0;2;Balance;200;1;1; 0;2;Balance;100;1; 0;inac_nq;0;1;Balance;100;1 desired output Balance;200 Balance;100 Balance;100 -Suresh Please use and tags when posting code, data or logs etc. to preserve formatting... (5 Replies)
Discussion started by: suresh3566
5 Replies

7. Shell Programming and Scripting

Grep for a particular word and get only the word

HI, Let us a consider i have a file as following. abcde (flag5 / 234 ) Mod 45 efgh afghd (flag3/ 343) MOD 34 ghdd tryd (t_flag6/ 567 ) MOD 43 uifudiu Is there a way where I need only the flag and the calculation done on it. The output should be : (flag5 / 234 ) Mod 45 ... (8 Replies)
Discussion started by: ashwin3086
8 Replies

8. Shell Programming and Scripting

Grep out specific word and only that word

ok, so this is proving to be kind of difficult even though it should not be. say for instance I want to grep out ONLY the word fkafal from the below output, how do I do it? echo ajfjf fjfjf iafjga fkafal foeref afoafahfia | grep -w "fkafal" If i run the above command, i get back all the... (4 Replies)
Discussion started by: SkySmart
4 Replies

9. UNIX for Dummies Questions & Answers

how to grep the word and display only the second word from it

hi, consider the below line in a text file, 'Y',getdate(),'N','V',NULL ..... 'N',getdate(),'Y','D',NULL ..... 'Y','N','Y',getdate(),'Y','D',NULL .... as u see above, i want only the second word after the getdate() word... getdate() will not come 2nd word alwys it may be any position but i... (11 Replies)
Discussion started by: prsam
11 Replies

10. UNIX for Dummies Questions & Answers

how to grep for a word and display only the word

Hi, When we "grep" for a word in a file, it returns the lines containing the word that we searched for. Is there a way to display only the words and not the entire line containing them. Thanks Ananth (6 Replies)
Discussion started by: ananthmm
6 Replies
Login or Register to Ask a Question