Grep with wildcard


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Grep with wildcard
# 1  
Old 12-21-2018
Grep with wildcard

hi anyone
how can use grep with wildcard. for example grep "sample?txt" filename doesn't show sample1txt or grep "sample*txt" filename doesn't show sample123.txt that there is in filename.





many thanks
samad
# 2  
Old 12-21-2018
grep uses regexes, not globs, with slightly different meanings. In glob, * means 'zero or more characters', in regex, it means 'zero or more of the previous character'.

So something* in regex terms would match something, somethingg, somethingggggggggggggggggggggg, somethin, but not somethina.

In regex, ? means "zero or one of the previous character" while . means "any character". You can combine the two as .? to mean "zero or one of any character" for example.

So try grep 'sample.txt' to match sampleatxt, samplebtxt, samplectxt, etc.
# 3  
Old 12-21-2018
Thanks
so, What is the way to find the following words in grep:
e.g: sample123.txt sampleahgdtxt
# 4  
Old 12-21-2018
With regards to post #1, that would be:
Code:
sample.txt

and
Code:
sample.*txt

respectively
This User Gave Thanks to Scrutinizer For This Post:
# 5  
Old 12-22-2018
Quote:
Originally Posted by Corona688
...
So something* in regex terms would match something, somethingg, somethingggggggggggggggggggggg, somethin, but not somethina.
...
Hmm - it would match "somethina" unless terminated by e.g. line end $ or something else...
# 6  
Old 12-22-2018
Yes it would match the somethin in somethina.
Often you can improve that with grep -w (word match), then somethina or somethinga or sample.txta or asample.txt would not match.
# 7  
Old 12-22-2018
Quote:
Originally Posted by MadeInGermany
Often you can improve that with grep -w (word match)
That will work only if your grep is a non-POSIX grep, because this is a (GNU, i believe) non-standard extension (see here).

bakunin
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Unable to grep using wildcard in a file.

I wish to check if my file has a line that does not start with '#' and has 1. Listen and 2. 443 echo "Listen 443" > test.out grep 'Listen *443' test.out | grep -v '#' Listen 443 The above worked fine but when the entry changes to the below the grep fails... (2 Replies)
Discussion started by: mohtashims
2 Replies

2. Shell Programming and Scripting

Grep and BzGrep with Wildcard in Search Pattern

Hello All, I hope this is the right area. If not, Kindly let me know and I will report in the appropriate spot. I am needing to find a search pattern that will make the * act as Wildcard in the search pattern instead of being literal. The example I am using is bzgrep "to=<*@domain.com>"... (5 Replies)
Discussion started by: mancountry
5 Replies

3. OS X (Apple)

Help with wildcard

CD_numb is AM017 this code: set the_Firstcom_CD to (do shell script "ls -d '/volumes/audioNAS/Firstcom/Access Music/' ") & CD_numb gives me this: "/volumes/audioNAS/Firstcom/Access Music/AM017" the item I am looking for is AM017Q. I can get the "*" syntax right so it never finder... (7 Replies)
Discussion started by: sbrady
7 Replies

4. Shell Programming and Scripting

Wildcard for grep

GNU grep with Oracle Linux 6.3 I want to grep for strings starting with the pattern ora and and having the words r2j in it. It should return the lines highlighted in red below. But , I think I am not using wildcard for multiple characters correctly. $ cat someText.txt ora_pmon_jcpprdvp1... (3 Replies)
Discussion started by: kraljic
3 Replies

5. Shell Programming and Scripting

Grep Wildcard search

How can i grep for a pattern with wildcard using grep? I want to identify all the lines that start with SAM and end in .PIPE IN.TXT SAM_HEADER.PIPE SAM_DETAIL.PIPE SAM_INVOICE.PIPE Can i do something like grep SAM*.PIPE IN.TXT (2 Replies)
Discussion started by: venky338
2 Replies

6. Shell Programming and Scripting

wildcard inside regular expression for grep

Hi, I'm on a Linux machine with a bash shell. I have some apache logs from where I want to extract the lines that match this pattern : "GET /dir1/dir2/dir3/bt_sx.gif HTTP/1.1" but where "/dir1/dir2/dir3/bt_sx" may vary , so I would like to grep something like cat apache.log | grep "\"GET... (2 Replies)
Discussion started by: black_fender
2 Replies

7. Shell Programming and Scripting

wildcard help!!

i have got heaps of files (.pdf, .txt and .doc) files in one folder, i am making a program in PERL that helps me find the files i want easier using shell wildcard, something like this!! print "Enter a pattern: (must be in )"; $input = <STDIN>; if (The input is in and valid wildcard... (3 Replies)
Discussion started by: bshell_1214
3 Replies

8. Shell Programming and Scripting

Grep with wildcard in middle of word

How can grep G.*schema give me the result: ${Gacntg_dt}""'"' doesn't G.*schema say give me an unlimited number of characters between G and schema? :confused: (3 Replies)
Discussion started by: danmauer
3 Replies

9. UNIX for Dummies Questions & Answers

wildcard

what will the cmd below do? ls *.3 1 members mentions that to seek all permutations and combinations of the mp3 extension ill have to use curly braces, {} and not, . what then will do? (13 Replies)
Discussion started by: abhi
13 Replies

10. UNIX for Dummies Questions & Answers

Find wildcard .shtml files in wildcard directories and removing them- How's it done?

I'm trying to figure out how to build a small shell script that will find old .shtml files in every /tgp/ directory on the server and delete them if they are older than 10 days... The structure of the paths are like this: /home/domains/www.domain2.com/tgp/ /home/domains/www.domain3.com/tgp/... (1 Reply)
Discussion started by: Neko
1 Replies
Login or Register to Ask a Question