Another sed question


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Another sed question
# 1  
Old 10-21-2008
Question Another sed question

Hello, I am very new to shell scripting and have a directory path such as:
/usr/dev/blah/Arch/release/812-1235-P05/files/list and I want to output:

812-1235-P05

I think using sed with a regex like [0-9]-[0-9]-[0-9]?[a-z] would be the way to go, but I am having much trouble getting it to work. Any suggestions? Thank you.
# 2  
Old 10-21-2008
you need to add some quantifiers and limiters in there
Code:
sed 's/.*\([0-9]\{3\}-[0-9]\{4\}-[0-9A-Z]\{3\}\).*/\1/'

which will look for anything followed by \( exactly 3 digits followed by a - followed by exactly 4 digits, followed by a - followed by a combination of 3 letters and/or digits \) followed by anything and replace it all with the part above in \( .. \)

Last edited by wempy; 10-21-2008 at 11:38 AM.. Reason: for clarity
# 3  
Old 10-21-2008
Thank you so much for your reply. Looks like it should work, I am piping
/usr/dev/blah/Arch/release/812-1235-P05/files/list which is from a previous grep command into sed so like
Code:
grep command_to_get_path | sed 's/.*\([0-9]\{3\}-[0-9]\{4\}-[0-9A-Z]\{3\}\).*/\1/'

and it just displays the whole path again, it doesn't strip out everything around the 812-1235-P05. Am I doing something completely wrong? I must be.

Thanks again!
# 4  
Old 10-21-2008
That is strange, if I pipe that string directly into sed on my machine I get the required result. Can you run the grep without the sed and show us the exact output of the grep (including all spacing and 'wierd' chars).

my sed version:

chris@druid: ~ $ sed --version
GNU sed version 4.1.5

Last edited by wempy; 10-21-2008 at 11:57 AM.. Reason: added sed version
# 5  
Old 10-21-2008
I got it, my directory path also has a timestamp at the end of it and I didn't enclose it with quotes and it used some <>'s Newbie mistake I guess. Thank you much for all your help...certainly made my day easier.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

SED question

I am trying to write a script that will take an input text file in the format person: place: phonenumber; person: place: phonenumber; person: place: phonenumber; ... and output it using sed too: Name ######## Location ######### Phone Number... (1 Reply)
Discussion started by: jmack56
1 Replies

2. Shell Programming and Scripting

Sed question

I need to replace the numbers with a new string. How can I give a wildcard for the different # of numbers sed '/abcdef/s/abcdef=*/abcdef=999999/'<foo>foo1 From: To: abcdef=1234 abcdef=999999 abcdef=12345 abcdef=999999 abcdef=123456... (10 Replies)
Discussion started by: beppler
10 Replies

3. Shell Programming and Scripting

sed question

hi i have a file with this line: variable=/export/home/oracle I want to change the file so that the path is replaced with the value of another variable var2=/tmp/anything. how to do this in sed? thx (4 Replies)
Discussion started by: melanie_pfefer
4 Replies

4. Shell Programming and Scripting

Sed Question 1. (Don't quite know how to use sed! Thanks)

Write a sed script to extract the year, rank, and stock for the most recent 10 years available in the file top10_mktval.csv, and output in the following format: ------------------------------ YEAR |RANK| STOCK ------------------------------ 2007 | 1 | Exxon... (1 Reply)
Discussion started by: beibeiatNY
1 Replies

5. UNIX for Dummies Questions & Answers

sed question

How would I use sed to print everything on the line after the regular expresion? I have a configuration file setting several variables. cfg.dat DDB = cpptest SUDBNAME = sucpptestdb host = cpptest Example I want to search for the regular expresion 'SUDBNAME =' and print everything on... (3 Replies)
Discussion started by: orahi001
3 Replies

6. Shell Programming and Scripting

sed question

I have a file that conatins following info Policy1=U|guestRoom=test1idCode=5(1):!:Amenity2=U|RoomId=testrma=4(1):!:| GuestRoomAmenity1=U|guestRoomId=testguest1id^rmaCode=5(1):!:| I need it to look like this Policy1=U|guestRoom=test1idCode Amenity2=U|RoomId=testrmaCode... (2 Replies)
Discussion started by: arushunter
2 Replies

7. Shell Programming and Scripting

sed question

Hi, :) can any body explain the following statement sed 's/\(\)- ]//g' cheers RRK (3 Replies)
Discussion started by: ravi raj kumar
3 Replies

8. Shell Programming and Scripting

sed question

Hi, When deleting lines using sed, as i understand the lines are redirected to the standard output. What i'm unclear about is how to actually modify the file? If I write the command sed '1,2d' test it will display lines one and 2 onto the screen however the file is not modified? I think my... (5 Replies)
Discussion started by: c19h28O2
5 Replies

9. Shell Programming and Scripting

sed question (again)

hello there, I have a sed question. I have a file (temp.srv), in it it has v1_host1 v2_host2 And I have another file (temp2.srv), in it is has v1_host3_date v1_host1 v2_host2 v2_host4_date v3_host5_date I had used a script to remove the name from temp2.srv base on the name inside... (3 Replies)
Discussion started by: ahtat99
3 Replies

10. Shell Programming and Scripting

Sed Question

Hi, Is there any way to traverse the file once and look for the following conditions in one sweep instead of going over the file 3 times with different search criteria...... sed -n '/^ORA-07445/ p' /tmp/t$$ > ${OERRFILE} sed -n '/^ORA-00600/ p' /tmp/t$$ >> ${OERRFILE} ... (1 Reply)
Discussion started by: YS2002
1 Replies
Login or Register to Ask a Question