Substring using sed or awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Substring using sed or awk
# 1  
Old 12-01-2009
Substring using sed or awk

I am trying to get a substring from a string stored in a variable. I tried sed with a bit help from this forum, but not successful. Here is my problem.

My string is: "REPLYFILE=myfile.txt"
And I need: myfile.txt (everything after the = symbol).

My string is: "myfile.txt.gz.20091120.enc
And I need: myfile.txt.gz (everything before string .gz, including .gz).

After my sed failed, I tried to get the position of the delimiting string thinking of using cut command. But failed at that as well.

As I am trying to learn sed and awk, any links to good tutorial is appreciated.
Thanks
# 2  
Old 12-01-2009
Code:
cat abc.txt
REPLYFILE=myfile.txt
myfile.txt.gz.20091120.enc
REPLYFILE=myfile.txt.gz.20091120.enc

Code:
sed 's/.*=//g;s/\.gz.*//g' abc.txt

chk if this helps.
# 3  
Old 12-01-2009
Code:
echo "myfile.txt.gz.20091120.enc" |sed 's/\(\.gz\).*/\1/'

# 4  
Old 12-01-2009
Using bash parameter substitution techniques:

1)
________________
${string##substring}
It deletes the "longest" match of $substring from 'front' of $string.
_________________
Code:
$ var="REPLYFILE=myfile.txt"

$ echo ${var##*=}
myfile.txt

or

$ echo $var | awk '{print $NF}' FS=\=
myfile.txt

2)
_________________________
${string%substring}
It deletes shortest match of $substring from 'back' of $string.
_________________________
Code:
$ var="myfile.txt.gz.20091120.enc"

$ echo ${var%gz*}
myfile.txt.

$ echo ${var%gz*}gz
myfile.txt.gz

Regards,
Jadu
# 5  
Old 12-02-2009
Thanks for everyone's time. All solutions are working.
# 6  
Old 12-02-2009
Or:
Code:
var=myfile.txt.gz.20091120.enc
echo ${var%.*.*}
-or-
echo ${var%%.[1-9]*}

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Substring Problem with sed . . .

Greetings. I'm looking to isolate the first occurrence of an arbitrary substring which may be present at any particular line in a given file. The enclosing end markers for the target in our thought problem are string" and ". The complete string and surrounding text could look something like... (3 Replies)
Discussion started by: LinQ
3 Replies

2. Shell Programming and Scripting

Using sed, awk or perl to remove substring of all lines except the first

Greetings All, I would like to find all occurences of a pattern and delete a substring from the all matching lines EXCEPT the first. For example: 1234::group:user1,user2,user3,blah1,blah2,blah3 2222::othergroup:user9,user8 4444::othergroup2:user3,blah,blah,user1 1234::group3:user5,user1 ... (11 Replies)
Discussion started by: jacksolm
11 Replies

3. Shell Programming and Scripting

Using sed to find a substring from a file

HI All, I have a file which looks like below ./Prod_id/rel/prod/lib.a ./Some_text/rel/fld/lib.a ./Some_text/deb/detail/lib.a ./Some_text/deb/err/lib.a ./Some_text/rel/prod/lib.a ./Some_text/rel/fld/lib.a ./Some_text/deb/detail/lib.a ./Some_text/deb/err/lib.a I want... (5 Replies)
Discussion started by: anand.shah
5 Replies

4. Shell Programming and Scripting

Extract a substring using SED/AWK

Hi All, I have a log file in which name and version of applications are coming in the following format name It may look like following, based on the name of the application and version: XYZ OR xyz OR XyZ OR xyz I want to separate out the name and version and store them into variables.... (4 Replies)
Discussion started by: bhaskar_m
4 Replies

5. Shell Programming and Scripting

Substring using cut/awk/sed

Hi Gurus,I have a seemingly simple problem but struggling with it.It is as follows : I/p string - ABCDEFGHIJ20100909.txt desired o/p - AB,DEF,20100909,ABCDEFGHIJ20100909.txt How to achieve it ?Thanks in advance. Please use code tags, thank you (20 Replies)
Discussion started by: sumoka
20 Replies

6. Shell Programming and Scripting

Making substring with sed

Input: You can easily do this by highlighting your code. How can i get the substring from index 9 to 12 using sed? (6 Replies)
Discussion started by: cola
6 Replies

7. Shell Programming and Scripting

Sed and SubString

Hi Folks, I am here with a simple doubt. I am having a flat file in which I want to replace the characters from say 5 to 15 as some text. Flat file contains a single line. For example 01MRRAJESH21000RAJESH INDUSTRIES In the above line pos 16-21 is Rajesh, I want to search for the... (4 Replies)
Discussion started by: dinesh1985
4 Replies

8. Shell Programming and Scripting

Using sed to get a substring

Hi, I have looked all over for this. I am attempting to get a the substring of a string using sed since it seemed the best solution for this. For example my string is: "zzz foo to you and bar123 or foo" I would like to extract the text between "and" and "or" (it could be anything, but... (2 Replies)
Discussion started by: CentaurAtlas
2 Replies

9. Shell Programming and Scripting

Sed extract substring on (OS X)

On OS 10.4.11 I have filenames like: 670711 SA T2 v1-1_DS_EF.doc CT_670520 AM T1 v1-2_DS_EF.doc CT_670716 - 2 SA T4 v1-2_DS_EF.doc CT_670713 SA T3 v1-1_DS_EF.doc 670421 PA DYP1 v1-1_DS_EF.doc CT_670425 PA DYP2 v1-1_DS_EF.doc CT_670107 RA T3 v1-2_DS_EF.doc CT_670521 AM T2 v1-2_DS_EF.doc... (3 Replies)
Discussion started by: mlommel
3 Replies

10. Shell Programming and Scripting

sed, grep, awk, regex -- extracting a matched substring from a file/string

Ok, I'm stumped and can't seem to find relevant info. (I'm not even sure, I might have asked something similar before.): I'm trying to use shell scripting/UNIX commands to extract URLs from a fairly large web page, with a view to ultimately wrapping this in PHP with exec() and including the... (2 Replies)
Discussion started by: ropers
2 Replies
Login or Register to Ask a Question