issue with grep


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers issue with grep
# 1  
Old 01-04-2008
issue with grep

using grep, i have a file emp.lst, and i want all those records
where "S" or "s" (capital or small) is not there

i used this

grep [^S] emp.lst

when i use grep [S] emp.lst

i am getting rows with S..but why negate (^) is not working?
# 2  
Old 01-04-2008
I'm not exactly sure what you want out of the output, but try this

grep -vi s emp.lst

This will return everything without a S or s in the line.
# 3  
Old 01-04-2008
^ is not negate

to get everything but, use the -v as previous post

the ^ is a special location character, similar to the $
the ^ locks to the beginning of text and the $ locks to end

sample.txt contains
begin this
more and more
then end

> grep "^begin" sample.txt
begin this
> grep "end$" sample.txt
then end
# 4  
Old 01-04-2008
Hi.

I think the invert, "-v", option is easiest to use. The "^", normally used as a beginning-of-line-anchor, takes on a special meaning when used in the character class notation, "[string_of_characters]", to mean "not these characters": "[^not_these]".

So you could use either method, the "-v", or the "[^]", but if you use a character class, you would need to set up the regular expression so that it would match every character on a line:
Code:
#!/usr/bin/env sh

# @(#) s1       Demonstrate expressions that match omitted characters.

set -o nounset
echo

debug=":"
debug="echo"

## The shebang using "env" line is designed for portability. For
#  higher security, use:
#
#  #!/bin/sh -

## Use local command version for the commands in this demonstration.

echo "(Versions displayed with local utility \"version\")"
version >/dev/null 2>&1 && version bash

echo

FILE=${1-data1}
echo " Input file $FILE:"
cat $FILE

echo
echo " Results from grep:"
grep -vi "s" $FILE

echo
echo " Results from more complicated expression:"
grep '^[^sS]*$' $FILE

exit 0

Producing:
Code:
% ./s1

(Versions displayed with local utility "version")
GNU bash 2.05b.0

 Input file data1:
Line number one.
a
s
S
Line that shuld match character at end: s
S beginning on a line.
Line with s and S in the middle.
Line omitting the character for which we look.
Last line.

 Results from grep:
Line number one.
a
Line omitting the character for which we look.

 Results from more complicated expression:
Line number one.
a
Line omitting the character for which we look.

The use of regular expressions often takes lots of practice to use (and appreciate) ... cheers, drl
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Issue with Grep

Hi guys, Hope someone can help me with this - I'm sure it's fairly simple but it's driving me mad! (forgive the coding - still new on scripting - come from Windows) I have the following coding for checking whether I want to include a line in a file:- EXTRACT_Date=$(date --date="${PERIOD}"... (6 Replies)
Discussion started by: NickF
6 Replies

2. Shell Programming and Scripting

Issue with grep

Hello, I have an input file that looks like so: LDLR LDLRAD4 VLDLR when I grep "LDLR" I get an output of: LDLR LDLRAD4 VLDLR Since all names have "LDLR" included within them, but all I want the output to be is LDLR I know it can work if I surround the words with pipes for... (5 Replies)
Discussion started by: Rabu
5 Replies

3. UNIX for Dummies Questions & Answers

Grep issue

HI, I have a command to check a license file. License_print. In that file you get the headlines and all different licenses. Now i want to have things extracted from it. so i do like following: license_print | grep -iw -e "user" -e "admin" But i donīt want all lines where user is... (11 Replies)
Discussion started by: Tzwaj
11 Replies

4. Shell Programming and Scripting

Grep issue

Hi Guys, I am new to shell scripting. Need help on grep command. I had a file called file.log which contain below statements. 12 Nov 2013 14:12:17,756 INFO security - Userid: raja, Saved File Instance, Name: , Registry: 23 Nov 2013 14:14:11,777 INFO security - Userid: raja, Saved... (7 Replies)
Discussion started by: Vinoth Kumar G
7 Replies

5. Shell Programming and Scripting

Issue in grep

i have following pattern in file s6:s2 s2:s4 s1:s2:s3:s4:s5:s6 s1 . . Now i want to find occurence of each record in file like s6:s2 occurs twice {once in first record and both occur in 3 record as well} so output should be s6:s2 2 s2:s4 2 s1:s2:s3:s4:s5:s6 :1 s1 : 2 ... (7 Replies)
Discussion started by: sharad.40216
7 Replies

6. Shell Programming and Scripting

Grep issue

Hi All I have a file containing following records: $HEW_TGT_DB2_USER=hbme_bi2 $prmAttunityUser=ais $DS_USER=hbme_bi2 $prmStgUser=hbme_bi2 $prmuser=hbme_bi2 $prmStgPass=hbme_bi2 $prmpwd=hbme_bi2 $prmAttunityUser=ais Say suppose the name of the file is test4.txt When i fire this... (2 Replies)
Discussion started by: vee_789
2 Replies

7. UNIX for Dummies Questions & Answers

Grep issue

more Hello.txt it was a sunny way and i was about to go home. I need to grep and redirect to a new file all the text between 'sunny' and 'go' string above. Note: There may be multiple lines in between the string i need to grep between. If there are multiple 'go' strings it should grep till... (9 Replies)
Discussion started by: mohtashims
9 Replies

8. Shell Programming and Scripting

grep issue

The below command is not working stackmem="$(pmap $1 | grep -i '' | awk '{print $2}'| tr -d ' K')" I need to grep strictly for ----> Regards, Mohtashim (2 Replies)
Discussion started by: mohtashims
2 Replies

9. Shell Programming and Scripting

Grep Issue

<record> <set> <termId>1234</termId> <termType>First</termType> </set> <set> <termId>5678</termId> <termType>Second</termType> </set> </record> This is saved in record.xml Hi I have this sample XML that i am grepping using a shell program. The objective of the task is - based... (7 Replies)
Discussion started by: revertback
7 Replies

10. UNIX for Dummies Questions & Answers

Issue with grep

I have a file that has the following: 591066 100.0 591066 100.0 591066 100.0 591066 100.0 591066 100.0 591066 100.0 591066 100.0 591066 100.0 591066 100.0 591066 100.0 591066 100.0 ... (5 Replies)
Discussion started by: Pablo_beezo
5 Replies
Login or Register to Ask a Question