Should be an easy GREP question...


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Should be an easy GREP question...
# 1  
Old 02-14-2013
Should be an easy GREP question...

Two things.

1. I need to list all the jpg that start with a specific pattern and I tried using wildcards and can't get it to work. Basically:

Code:
grep "cpd*.jpg" myfile.sgm

return all entries that start with cpd (wildcard) and jpg

but this does not work and I can't find another option--I'm probably thinking of the DOS world.
# 2  
Old 02-14-2013
Code:
grep "cpd[[:alnum:]]*\.jpg" myfile.sgm

Or to grep only for pattern starting with cpd
Code:
grep "^cpd[[:alnum:]]*\.jpg" file

Or
Code:
grep "^cpd.*\.jpg" file


Last edited by Yoda; 02-14-2013 at 05:34 PM.. Reason: added
# 3  
Old 02-14-2013
Yes, the '?*[]' meta-character pattern system for file globbing and case statements is not to be confused with the regex() regular expression system used in grep/sed/vi/vim/awk/perl where ? is now ., * is now .*, and the square braces can also do not-in-set [^0-9]. Even regex come in variations, the extended egrep set being a bit different from the basics, and many tools have other extensions. Even the vintage of regex can make meta change, so word boundaries \< and \> become \b: Regex Tutorial - \b Word Boundaries
# 4  
Old 02-14-2013
Quote:
Originally Posted by jcor826
Two things.

1. I need to list all the jpg that start with a specific pattern and I tried using wildcards and can't get it to work. Basically:

Code:
grep "cpd*.jpg" myfile.sgm

return all entries that start with cpd (wildcard) and jpg

but this does not work and I can't find another option--I'm probably thinking of the DOS world.
Correct, * does not mean what you think it does to grep.

It means "zero or more of the previous character". So cpd.jpg, cpdd.jpg, cpdddddddd.jpg, etc.

Also, . is special. It means 'any character'. If you want an actual dot, that's \.

So the regex you want is cpd.*\.jpg
# 5  
Old 02-14-2013
Then there is the SQL metaset for like, and on and on . . . .
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Easy seq Question

Hi! I'm trying to do this: 1 - 2 - 3 - 4 - 5 - I'm using seq for this: seq 1 20 > filename.txt How do I get the "-"? I've tried -f per man but can't get anything to work. Also, is there an easier or better way than using sequence? Thanks! (6 Replies)
Discussion started by: TonyBe
6 Replies

2. UNIX for Dummies Questions & Answers

Easy Grep Question

This seems like an easy question, but I can't find an answer already posted. I want a command to return all of the lines in a file containing exactly a string I tried grep -x "372701" x.txt but this did not return anything I am just trying to search a file for lines which contain... (4 Replies)
Discussion started by: jgrosecl
4 Replies

3. Shell Programming and Scripting

easy grep question

pattern matching porblem. I have a file with lines like this: hdisk2 blah 03 hdisk3 blah 03 hdisk21 blat 06 hdisk23 blah 06 hdisk210 blat 06 So I want to grep for just hdisk2, but I get back as you would expect hdisk2 dhsik21 hdisk23 hdisk210 I tried several... (1 Reply)
Discussion started by: adder2
1 Replies

4. UNIX for Dummies Questions & Answers

Newbie Help with Grep or Awk .. Easy one ...

I have this output: uniquemember=uid=315kthatch,ou=people,ou=client315,dc=paisleyhosting,dc=com and i want the output to be just this: 315kthatch I need it to be generic tho, because I have hundreds of lines of output, and the preceding numbers are not always 315. So I would need... (3 Replies)
Discussion started by: kthatch
3 Replies

5. UNIX for Dummies Questions & Answers

easy question

Hi everybody: Could anybody tell me if I have several files which each one it has this pattern name: name1.dat name2.dat name3.dat name4.dat name10.dat name11.dat name30.dat If I would like create one like: name_total.dat If I do: paste name*.dat > name_total.dat (15 Replies)
Discussion started by: tonet
15 Replies

6. Shell Programming and Scripting

Hopefully an Easy Question

I have a file name in this format ABC_WIRE_TRANS_YYYYMMDD_00.DAT I need to cut out the _00 out of the file name everytime. It could be _00, _01,_02, etc .... How do I cut it out to look as follows? ABC_WIRE_TRANS_YYYYMMDD.DAT (6 Replies)
Discussion started by: lesstjm
6 Replies

7. Shell Programming and Scripting

A easy question.

this is the simple question, please help me! the question is: how to send exactly 50 ICMP Echo request packets with 500 bytes of payload to 202.139.129.221? I tried to use ping -F 500 202.139.129.221, but it didn't work. Thanks! (6 Replies)
Discussion started by: kikikaka
6 Replies

8. UNIX for Dummies Questions & Answers

Another easy question

Hello Again, Ok guys. Thanks again for your help last time but I am in need of your experience again. I wrote this script: #!/bin/sh # List either files or directories in individual accounts # using 1, 2 or 3 with invalid case $1 in echo select 1 to see the FILES in your... (3 Replies)
Discussion started by: catbad
3 Replies

9. UNIX for Dummies Questions & Answers

easy question

I know the Sun Solaries versions are ( 2.3 , 2.4 , 2.5 ... 7 , 8 ) . But some times I see sun os v5.x what does it mean ?? also what is the last new machine for sun and what are its details specifications . Thanks (3 Replies)
Discussion started by: tamemi
3 Replies

10. UNIX for Dummies Questions & Answers

Easy question

Hi, Simple question. How do I convert a unix text file to a dos text file? Thanks Helen (4 Replies)
Discussion started by: Bab00shka
4 Replies
Login or Register to Ask a Question