grep with "[" and "]" and "dot" within the search string


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting grep with "[" and "]" and "dot" within the search string
# 1  
Old 06-07-2012
grep with "[" and "]" and "dot" within the search string

Hello.
Following recommendations for one of my threads, this is working perfectly :

Code:
#!/bin/bash
CNT=$(  grep -c -e  "some text 1"   -e  "some text 2"  -e  "some text 3"    "/tmp/log_file.txt" )

Now I need a grep success for some thing like :
Code:
#!/bin/bash
CNT=$(  grep -c -e  "some text_1 REGEX_PATERN some other text"   -e  "some text 2"  -e  "some text 3"    "/tmp/log_file.txt" )

When the log file /tmp/log_file.txt contains either
some text_1 [done] some other text
or
some text_1 [.done] some other text
or
some text_1 [..done] some other text
or
some text_1 [...done] some other text
and so on.

Many Thanks
# 2  
Old 06-07-2012
If your pattern is literal string and not a regex, use fgrep instead of grep.
# 3  
Old 06-07-2012
Quote:
Originally Posted by jcdole
When the log file /tmp/log_file.txt contains either
some text_1 [done] some other text
or
some text_1 [.done] some other text
or
some text_1 [..done] some other text
or
some text_1 [...done] some other text
and so on.

Many Thanks
If i get it correctly you search for "[", then a variable numbers of dots, then "done]", is that correct?

If so, your grep-regexp could look like:

Code:
grep '\[\.*done\]'

You can use any special character in regexps by "escaping" them. That is: put a backslash in front of them. "." means any character, while "\." means a literal dot. The same goes for "[", etc..

I hope this helps.

bakunin
This User Gave Thanks to bakunin For This Post:
# 4  
Old 06-10-2012
Quote:
Originally Posted by bakunin
If i get it correctly you search for "[", then a variable numbers of dots, then "done]", is that correct?

If so, your grep-regexp could look like:

Code:
grep '\[\.*done\]'

You can use any special character in regexps by "escaping" them. That is: put a backslash in front of them. "." means any character, while "\." means a literal dot. The same goes for "[", etc..

I hope this helps.

bakunin
Exactly.
And that do the job
Thank you for helping.

THis thread is closed.
This User Gave Thanks to jcdole For This Post:
# 5  
Old 10-09-2012
Quote:
Originally Posted by jethro10
does fgrep works? i tried it once...
"fgrep" is a faster variant of "grep". It uses simplified regular expressions, but this speeds up its performance considerably. For small files this will make no big difference but with large files it can save a lot of time. On the other hand "fgrep" is not as versatile as "grep", so there indeed are cases where "grep" will do the job but "fgrep" won't.

As a general rule: use "fgrep" when you can and "grep" when you must.

Corollary: the same goes for "grep" and "egrep" - at least where they are different. "egrep" can do even more than "grep", but again at the expense of speed. Its operation is even slower than that of "grep". In some systems, though, one is just a hard link to the other because the makers saved some time and effort in silently merging these two tools.

I hope this helps.

bakunin
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies

2. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

3. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

4. Shell Programming and Scripting

Substituting comma "," for dot "." in a specific column when comma"," is a delimiter

Hi, I'm dealing with an issue and losing a lot of hours figuring out how i would solve this. I have an input file which looks like this: ('BLABLA +200-GRS','Serviço ','TarifaçãoServiço','wap.bla.us.0000000121',2985,0,55,' de conversão em escada','Dia','Domingos') ('BLABLA +200-GRR','Serviço... (6 Replies)
Discussion started by: poliver
6 Replies

5. Solaris

The slices "usr", "opt", "tmp" disappeared!!! Help please.

The system don't boot. on the screen appears following: press enter to maintenance (or type CTRL-D to continue)...I checked with format command. ... the slices "0-root","1-swap","2-backup" exist. ...the slises "3-var","6-usr" -unassigned. :( (16 Replies)
Discussion started by: wolfgang
16 Replies

6. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

7. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

8. Shell Programming and Scripting

ps -ef | grep "string1" "string2" " "string3"

Hi all, can any one suggest me the script to grep multiple strings from ps -ef pls correct the below script . its not working/ i want to print OK if all the below process are running in my solaris system. else i want to print NOT OK. bash-3.00$ ps -ef | grep blu lscpusr 48 42 ... (11 Replies)
Discussion started by: steve2216
11 Replies

9. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies
Login or Register to Ask a Question