Problem with sed wildcard "*"


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Problem with sed wildcard "*"
# 1  
Old 12-03-2012
Problem with sed wildcard "*"

Hi All,
can you help me with "*" wildcard character in sed, i am a bit confused. I am going through a reference and found that below code
Code:
sed -n '/a*c/' file

will also return a line that contain the string
Code:
output :
close the window properly

how is that possible when there is no "a" in this string?? how does this wildcard works.
Any reference/suggestion would be appreciated.
# 2  
Old 12-03-2012
a* - zero or more occurrences of a
# 3  
Old 12-03-2012
It's capturing the 'c'. If you change the 'c' to a 'z', then nothing will be returned since there is neither an 'a' or 'z' in the string.

Code:
$ sed -n '/a*c/p' file
close the window properly

$ sed -n '/a*z/p' file
$

# 4  
Old 12-03-2012
Quote:
Originally Posted by vgersh99
a* - zero or more occurrences of a
Hi Vgresh, My output doesn't contain any occurrence of "a"

---------- Post updated at 11:52 PM ---------- Previous update was at 11:46 PM ----------

Thanks in2nix4life,
Quote:
It's capturing the 'c'. If you change the 'c' to a 'z', then nothing will be returned since there is neither an 'a' or 'z' in the string.
Yes i do understand that its capturing the 'c', but my problem is to understand the functionality of '*'. How does it work, and what does it really look for in a string??
# 5  
Old 12-03-2012
Quote:
Originally Posted by mukulverma2408
Hi Vgresh, My output doesn't contain any occurrence of "a"
as I said, 'a*' stands for zero or more occurrences of a.
If you want to get lines where an 'a' is followed by anything and a 'c': a.*c
# 6  
Old 12-03-2012
Thanks Vgresh for your quick help, but i think i am not able to explain my problem properly.
can you please also explain a bit about '*' in sed?
I tried but i am really getting confused with this.
# 7  
Old 12-03-2012
Quote:
Originally Posted by mukulverma2408
Thanks Vgresh for your quick help, but i think i am not able to explain my problem properly.
can you please also explain a bit about '*' in sed?
I tried but i am really getting confused with this.
Why don't you explain what you're actually after?
What exactly are you trying to do?
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

"GET" command retrieves multiple files while using wildcard

Hi All I am using GNU/Linux This is regarding the get command to retrieve files (filename with wild card characters) from remote server. I thought Get command can retrieve only 1 file irrespective of the files it has on the remote server And it is the function of mget to retrieve all... (7 Replies)
Discussion started by: sparks
7 Replies

2. Shell Programming and Scripting

Awk,sed : change every 2nd field ":" to "|"

Hi Experts, I have a string with colon delimited, want 2nd colon to be changed to a pipe. data: 101:8:43:4:72:14:41:69:85:3:137:4:3:0:4:0:9:3:0:3:12:3: I am trying with sed, but can change only 1 occurance: echo "101:8:43:4:72:14:41:69:85:3:137:4:3:0:4:0:9:3:0:3:12:3:" | sed 's/:/|/2'... (5 Replies)
Discussion started by: rveri
5 Replies

3. Post Here to Contact Site Administrators and Moderators

Suggestion: adding two new groups "sed" and "awk"

Majority of the questions are pertaining file/string parsing w.r.t sed or awk It would be nice to have these two as their own sub category under shell-programming-scripting which can avoid lot of duplicate posts. (1 Reply)
Discussion started by: jville
1 Replies

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

5. Shell Programming and Scripting

Using sed to find text between a "string " and character ","

Hello everyone Sorry I have to add another sed question. I am searching a log file and need only the first 2 occurances of text which comes after (note the space) "string " and before a ",". I have tried sed -n 's/.*string \(*\),.*/\1/p' filewith some, but limited success. This gives out all... (10 Replies)
Discussion started by: haggismn
10 Replies

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

7. Shell Programming and Scripting

Simplify Bash Script Using "sed" Or "awk"

Input file: 2 aux003.net3.com error12 6 awn0117.net1.com error13 84 aux008 error14 29 aux001.ha.ux.isd.com error12 209 aux002.vm.ux.isd.com error34 21 alx0027.vm.net2.com error12 227 dux001.net5.com error123 22 us008.dot.net2.com error121 13 us009.net2.com error129Expected Output: 2... (4 Replies)
Discussion started by: sQew
4 Replies

8. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

9. UNIX for Advanced & Expert Users

A question/problem about oracle "tns listener" and "enterprise manager"

hi, I have a problem about the Oracle related components. I'm not able to find any answer yet, and waiting for your responses... Here is the configuration of my system: * an IBM P550 machine, * an AIX 5.3 running on it and * an oracle database, already installed on it. The problem (or... (1 Reply)
Discussion started by: talipk
1 Replies

10. UNIX and Linux Applications

A question/problem about oracle "tns listener" and "enterprise manager"

hi, I have * an IBM P550 machine, * an AIX 5.3 running on it and * an oracle database, already installed on it. The problem (or question of my own) is: Oracle tns listener, "CT_LISTENER", and the enterprise manager (EM) of the instance, which is uniq instance and called... (0 Replies)
Discussion started by: talipk
0 Replies
Login or Register to Ask a Question