Grep regex filter


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Grep regex filter
# 1  
Old 02-09-2014
Grep regex filter

Hi,

How can I run the grep search in a script to only include compute, not bigcomputer in following search input?

Code:
"   properties = local compute"
"   properties = local bigcompute"

Thank you.

-j

Last edited by Scrutinizer; 02-09-2014 at 03:38 AM.. Reason: code tags
# 2  
Old 02-09-2014
Quote:
Originally Posted by hce
Hi,

How can I run the grep search in a script to only include compute, not bigcomputer in following search input?

" properties = local compute"
" properties = local bigcompute"

Thank you.

-j
--edit--

Code:
$ cat <<test | grep  -w 'compute'
" properties = local compute"
" properties = local bigcompute"
test

" properties = local compute"


Last edited by Akshay Hegde; 02-09-2014 at 02:19 AM..
This User Gave Thanks to Akshay Hegde For This Post:
# 3  
Old 02-09-2014
That's UUOC, could be simply <<test grep -w
This User Gave Thanks to MadeInGermany For This Post:
# 4  
Old 02-09-2014
-w is an extension to POSIX grep and is not available on every platform. An alternative that should work in any POSIX grep would be:

Code:
grep -E '([^[:alnum:]_]|^)compute([^[:alnum:]_]|$)' file

This User Gave Thanks to Scrutinizer For This Post:
# 5  
Old 02-09-2014
Quote:
Originally Posted by Scrutinizer
-w is an extension to POSIX grep and is not available on every platform. An alternative that should work in any POSIX grep would be:

Code:
grep -E '([^[:alnum:]_]|^)compute([^[:alnum:]_]|$)' file

Thanks for all response, that are all great, but it is a little bit complicated, I forgot to mention that the search string needs to include "properties = ......" for only the line of "properties =" as other lines could also contain "computer" or "bigcomputer" as well.

-j

Last edited by hce; 02-09-2014 at 08:47 PM..
# 6  
Old 02-09-2014
Then try this:
Code:
grep -E 'properties =.*[^[:alnum:]_]compute([^[:alnum:]_]|$)' file

If it does not need to be portable, on some platforms you can also try one of the following:
Code:
grep 'properties =.*[[:<:]]compute[[:>:]]' file
grep 'properties =.*\<compute\>' file
grep 'properties =.*\bcompute\b' file


Last edited by Scrutinizer; 02-10-2014 at 02:52 AM..
This User Gave Thanks to Scrutinizer For This Post:
# 7  
Old 02-10-2014
Quote:
Originally Posted by Scrutinizer
Then try this:
Code:
grep -E 'properties =.*[^[:alnum:]_]compute([^[:alnum:]_]|$)' file

If it does not need to be portable, on some platforms you can also try one of the following:
Code:
grep 'properties =.*[[:<:]]compute[[:>:]]' file
grep 'properties =.*\<compute\>' file
grep 'properties =.*\bcompute\b' file

Terrific, thank you so much.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Filter pattern in grep command

Hi, I am having a file like below hello how are you hello... (5 Replies)
Discussion started by: rohit_shinez
5 Replies

2. Shell Programming and Scripting

Filter (by max length) only lines not matching regex

I have a large file of many pairs of sequences and their headers, which always begin with '>' I'm looking for help on how to retain only sequences (and their headers) below a certain length. So if min length was 10, output would be I can filter by length, but I'm not sure how to exclude... (3 Replies)
Discussion started by: pathunkathunk
3 Replies

3. Shell Programming and Scripting

How set filter netstat -an | grep -P '\:'38''

Hi, I can write sh script for Linux platform I run: netstat -an | grep -P '\:'38''| grep ESTABLISHED but result: # netstat -an | grep -P '\:'38''| grep ESTABLISHED tcp 0 0 172.16.1.107:383 172.16.1.81:49981 ESTABLISHED tcp 0 0... (8 Replies)
Discussion started by: ostapv
8 Replies

4. Shell Programming and Scripting

How to filter only the last 'n' lines of a grep output?

I am running a grep query for searching a pattern, and the output is quite huge. I want only the last 200 lines to be displayed, and I am not sure if tail will do the trick (can tail read from std in/out instead of files?). Please help me out. (1 Reply)
Discussion started by: shell_newbie
1 Replies

5. Shell Programming and Scripting

Filter on a grep

I am attempting to figure out how to only capture part of a grep command I am doing. So far no luck. When I execute.... leviathan:/gfs/home/tivoli>ps -ef | /usr/ucb/ps -auxww | grep nco_p_syslog The results are.... tivoli 10185 0.0 0.0 5888 5168 ? S Oct 23 0:26... (2 Replies)
Discussion started by: LRoberts
2 Replies

6. Shell Programming and Scripting

filter grep command

I have ran into a small issue and I am not sure how to fix it. In one of our current scripts we have this line which does a grep to get the pid of the process. ps -ef | grep nco_p_syslog | grep $x | awk '{print $2}' However this is not returning anything due to the how long the value... (7 Replies)
Discussion started by: LRoberts
7 Replies

7. UNIX for Dummies Questions & Answers

| help | unix | grep (GNU grep) 2.5.1 | advanced regex syntax

Hello, I'm working on unix with grep (GNU grep) 2.5.1. I'm going through some of the newer regex syntax using Regular Expression Reference - Advanced Syntax a guide. ls -aLl /bin | grep "\(x\)" Which works, just highlights 'x' where ever, when ever. I'm trying to to get (?:) to work but... (4 Replies)
Discussion started by: MykC
4 Replies

8. UNIX for Advanced & Expert Users

ps avg | grep ? filter the desired out put.

Hi Folk, Following is the command I used to get data related to the DataFlowEngine. I wanted to know the % usage of cpu and memory. ps avg | grep Data This command will show the processes with its PID as : PID TTY STAT TIME PGIN SIZE RSS LIM TSIZ TRS %CPU %MEM COMMAND ... (1 Reply)
Discussion started by: varungupta
1 Replies

9. Shell Programming and Scripting

Grep script to filter

Hi, Wondering if anyone could help me with a simple script to filter out multiple things from a file. Right now I just have long lines of grep -v remove file | greg -v etc etc What I would like to do is have grep -v <run everything in a file> tofilter If that makes sense. Basically a... (2 Replies)
Discussion started by: kevin9
2 Replies

10. UNIX for Dummies Questions & Answers

Filter results through pipe with grep

ls -ltr | grep string How can I use regular expressions to filter the results provided even more. I am using the above command as a reference. (1 Reply)
Discussion started by: ckandreou
1 Replies
Login or Register to Ask a Question