Sponsored Content
Top Forums UNIX for Dummies Questions & Answers using sed or grep to find exact match of text Post 302249807 by ghostdog74 on Wednesday 22nd of October 2008 06:39:15 AM
Old 10-22-2008
Quote:
Originally Posted by risk_sly
Hi,

Can anyone help me with the text editing I need here. I have a file that contains the following lines for example: (line numbers are for illustration only)

1 Hello world fantasy.
2 Hello worldfuntastic.
3 Hello world wonderful.

I would like to get all those lines of text that contains the word "world" without anything after it. Meaning, I would like to have lines 1 and 3, line 2 should not be included because it contains "worldfuntastic", no space between.

1 Hello world fantasy.
3 Hello world wonderful

The problem is, there are some lines that use TAB to separate words like line 3. When I use grep "world " <filename>, this will get all lines of text with the word "world" and space after it but not those with TAB, i.e. the results would only be:
1 Hello world fantasy

line 3 is not included because "world" and "wonderful" are separated by TAB. Any suggestions, please?

if you want to grab whole words, the basic logic is to go through each word, and check against what you want to find using equality "==" operator
Code:
awk '{
 for ( i=1;i<=NF;i++){
  if ( $(i) == "world"){
   print $0
  } 
 }
}
' file

 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Exact Match thru grep ?????

hey..... i do have text where the contents are like as follows, FILE_TYPE_NUM_01=FILE_TYPE=01|FILE_DESC=Periodic|FILE_SCHDL_TYPE=Daily|FILE_SCHDL=|FILE_SCHDL_TIME=9:00am|RESULTS=B FILE_TYPE_NUM_02=FILE_TYPE=02|FILE_DESC=NCTO|FILE_SCHDL_TYPE=Daily|FILE_SCHDL=|FILE_SCHDL_TIME=9:00am|RESULTS=M... (2 Replies)
Discussion started by: manas_ranjan
2 Replies

2. Solaris

grep exact match

Hi This time I'm trying to grep for an exact match e.g cat.dog.horse.cow.bird.pig horse.dog.pig pig.cat.horse.dog horse dog dog pig.dog pig.dog.bird how do I grep for dog only so that a wc -l would result 2 in above case. Thanks in advance ---------- Post updated at 06:33 AM... (4 Replies)
Discussion started by: rob171171
4 Replies

3. 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

4. UNIX for Dummies Questions & Answers

grep and sed exact match questions

This was mistaken as homework in a different forum, but is not. These are questions that are close to what I am trying to do at work. 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... (1 Reply)
Discussion started by: thibodc
1 Replies

5. Shell Programming and Scripting

grep and sed exact match questions

This post was previously mistaken for homework, but is actually a small piece of what I working on at work. Please answer if you can. 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... (2 Replies)
Discussion started by: thibodc
2 Replies

6. Shell Programming and Scripting

Grep two words with exact match

HI Input : Counters Counter Int Ints Counters Counters Ints Ints I want to grep Counter|Int Output : Counter (1 Reply)
Discussion started by: pareshkp
1 Replies

7. Shell Programming and Scripting

Searching for exact match using grep

I am searching for an exact match on a value read from another file to lookup an email address in another file. The file being checked is called "contacts" and it has Act #, email address, and contact person. 1693;abc1693@yahoo.comt;Tommy D 6423;abc6423@yahoo.comt;Jim Doran... (2 Replies)
Discussion started by: ziggy6
2 Replies

8. Shell Programming and Scripting

Grep or sed - printing line only with exact match

Hello. In my script, some command return : q | kernel-default | package | 3.19.0-1.1.g8a7d5f9 | x86_64 | openSUSE-13.2-Kernel_stable_standard | kernel-default | package | 3.19.0-1.1.g8a7d5f9 | i586 | openSUSE-13.2-Kernel_stable_standard | kernel-default ... (3 Replies)
Discussion started by: jcdole
3 Replies

9. Shell Programming and Scripting

Grep exact match

Hello! I have 2 files named tacs.tmp and tacDB.txt tacs.tmp looks like this 0 10235647 102700 106800 107200 1105700 tacDB.txt looks like this 100100,Mitsubishi,G410,Handheld,,0,0,0 100200,Siemens,A53,Handheld,,0,0,0 100300,Sony Ericsson,TBD (AAB-1880030-BV),Handheld,,0,0,0... (2 Replies)
Discussion started by: Cludgie
2 Replies

10. Shell Programming and Scripting

Grep for an exact match in a file

I am currently having some issues while trying to grep for a exact string inside a file. I have tried doing this from command line and things work fine i.e. when no match is found, return code=1 but when its done as part of my script it returns 0 for the same command - I dont know if there is an... (6 Replies)
Discussion started by: Ads89
6 Replies
Affixes(3pm)						User Contributed Perl Documentation					      Affixes(3pm)

NAME
Text::Affixes - Prefixes and suffixes analisys of text SYNOPSIS
use Text::Affixes; my $text = "Hello, world. Hello, big world."; my $prefixes = get_prefixes($text); # $prefixes now holds # { # 3 => { # 'Hel' => 2, # 'wor' => 2, # } # } # or $prefixes = get_prefixes({min => 1, max => 2},$text); # $prefixes now holds # { # 1 => { # 'H' => 2, # 'w' => 2, # 'b' => 1, # }, # 2 => { # 'He' => 2, # 'wo' => 2, # 'bi' => 1, # } # } # the use for get_suffixes is similar DESCRIPTION
Provides methods for prefixe and suffix analisys of text. METHODS
get_prefixes Extracts prefixes from text. You can specify the minimum and maximum number of characters of prefixes you want. Returns a reference to a hash, where the specified limits are mapped in hashes; each of those hashes maps every prefix in the text into the number of times it was found. By default, both minimum and maximum limits are 3. If the minimum limit is greater than the lower one, an empty hash is returned. A prefix is considered to be a sequence of word characters (w) in the beginning of a word (that is, after a word boundary) that does not reach the end of the word ("regular expressionly", a prefix is the $1 of /(w+)w/). # extracting prefixes of size 3 $prefixes = get_prefixes( $text ); # extracting prefixes of sizes 2 and 3 $prefixes = get_prefixes( {min => 2}, $text ); # extracting prefixes of sizes 3 and 4 $prefixes = get_prefixes( {max => 4}, $text ); # extracting prefixes of sizes 2, 3 and 4 $prefixes = get_prefixes( {min => 2, max=> 4}, $text); get_suffixes The get_suffixes function is similar to the get_prefixes one. You should read the documentation for that one and than come back to this point. A suffix is considered to be a sequence of word characters (w) in the end of a word (that is, before a word boundary) that does not start at the beginning of the word ("regular expressionly" speaking, a prefix is the $1 of /w(w+)/). # extracting suffixes of size 3 $suffixes = get_suffixes( $text ); # extracting suffixes of sizes 2 and 3 $suffixes = get_suffixes( {min => 2}, $text ); # extracting suffixes of sizes 3 and 4 $suffixes = get_suffixes( {max => 4}, $text ); # extracting suffixes of sizes 2, 3 and 4 $suffixes = get_suffixes( {min => 2, max=> 4}, $text); OPTIONS
Apart from deciding on a minimum and maximum size for prefixes or suffixes, you can also decide on some configuration options. exclude_numbers Set to 0 if you consider numbers as part of words. Default value is 1. # this get_suffixes( {min => 1, max => 1, exclude_numbers => 0}, "Hello, but w8" ); # returns this: { 1 => { 'o' => 1, 't' => 1, '8' => 1 } } lowercase Set to 1 to extract all prefixes in lowercase mode. Default value is 0. ATTENTION: This does not mean that prefixes with uppercased characters won't be extracted. It means they will be extracted after being lowercased. # this... get_prefixes( {min => 2, max => 2, lowercase => 1}, "Hello, hello"); # returns this: { 2 => { 'he' => 2 } } TO DO
o Make it more efficient (use C for that) AUTHOR
Jose Castro, "<cog@cpan.org>" COPYRIGHT &; LICENSE Copyright 2004 Jose Castro, All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.10.0 2005-11-19 Affixes(3pm)
All times are GMT -4. The time now is 09:13 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy