Sponsored Content
Full Discussion: Grep with wildcard
Top Forums Shell Programming and Scripting Grep with wildcard Post 303036357 by abdossamad2003 on Monday 24th of June 2019 06:10:55 AM
Old 06-24-2019
wildcard in grep

Quote:
Originally Posted by Corona688
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.



"grep uses regexes, not globs" is this mean extended regular expression is used by grep?
and globs means basin regular expression?


many thanks
samad

--- Post updated at 05:52 AM ---

Quote:
Originally Posted by Corona688
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.

but something* match "somethinga" that a in somethinga isn't previous character!

--- Post updated at 06:10 AM ---

Quote:
Originally Posted by Corona688
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.



you say " but not somethina" this is incorrect because the something* match somethina.


Code:
[samad@localhost test]$ grep "something*" test 
somethina

 

10 More Discussions You Might Find Interesting

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

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

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

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

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

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

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

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

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

10. 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
All times are GMT -4. The time now is 01:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy