Regular expressions in sed


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Regular expressions in sed
# 1  
Old 02-10-2002
Question Regular expressions in sed

I'm using sed to alter a parameter file used in another process. Basically, the file is a template containing a few variables which need to be replaced at runtime.

The problem is that using sed with filenames that contain the / character causes matches to fail.

I've tried doing an escaped forward slash substitution. ie. replace all "/" with "\\\/". It works outside the shell, but not inside. Wierd.

Here's the code fragment:

Code:
# 2 Modify the runCSjob.xml file: output to jobFile
subRunDate=`echo ${runDate}|sed -e "s/\//\\\\\//g"`;
substituteRunDate="1,\$s/\\\${runDate}/${subRunDate}/g";
subOutputFile=`echo ${outputFile}|sed -e "s/\//\\\\\//g"`;
substituteOutputFile="1,\\\$s/\${outputFile}/${subOutputFile}/g"
substituteRunType="1,\$s/\${runType}/${runType}/g";
sed -e "${substituteRunDate}" -e "${substituteOutputFile}" -e "${substituteRunType}" ${UTOPIA_BIN}/runCSjob.xml > ${tmpFile}.xml

Ideas??

Also, anyone know a good regexp site - summary etc?
# 2  
Old 02-12-2002
What shell are you using in the script as opposed to the command line? I am not exactly sure what you are trying to do, but when I tried your sed commands on the command line in Bourne Shell (sh) and in a Bourne Shell Script, I got the same results.
# 3  
Old 02-12-2002
In sed, you don't *have* to use "/" to seperate your statement.

sed 's/this/that/g' is the same as sed 's#this#that#g'.

If you don't use "/"'s, it won't interpret the slashes in a path.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Regular expressions

I need to pick a part of string lets stay started with specific character and end with specific character to replace using sed command the line is like this:my audio book 71-skhdfon1dufgjhgf8.wav' I want to move the characters beginning with - end before. I have different files with random... (2 Replies)
Discussion started by: XP_2600
2 Replies

2. Shell Programming and Scripting

awk or sed or python for regular expressions ?

Linux 6.X environments (RHEL, Oracle Linux ) I could write basic shell scripts in bash. In my spare time, I was planning to learn awk or sed to deal with regular expression tasks I have to deal with. But, I gather that python is gaining popularity these days and I came to know that python has a... (5 Replies)
Discussion started by: John K
5 Replies

3. Shell Programming and Scripting

Issue with sed and regular expressions

I have a file, each line has the date and time twice, once at the start of the line, and again half way along. to neaten things up, and to make it easier to read i'm removing one set. Wasn't as easy as identify the text and remove, as it'd remove both. So i added some text at the beginning of... (4 Replies)
Discussion started by: chr15b
4 Replies

4. Shell Programming and Scripting

Help with regular expressions

I have a file that I'm trying to find all the cases of phone number extensions and deleting them. So input file looks like: abc x93825 def 13234 x52673 hello output looks like: abc def 13234 hello Basically delete lines that have 5 numbers following "x". I tried: x\(4) but it... (7 Replies)
Discussion started by: pxalpine
7 Replies

5. Shell Programming and Scripting

sed and regular expressions

Hi, There's a bug using JavaDoc that generates an error if a tag <a...> is found in a javadoc comment, which is not a HTML reference. For example this error is produced with generics. I want to insert an space between "<" and "a". Expression is able to find where this happens using find and grep: ... (6 Replies)
Discussion started by: AlbertGM
6 Replies

6. Shell Programming and Scripting

SED regular expressions

Hi, I need to replace <field name="ID">1</field> with <field name="STATION_ID">01</field> how can i do it? (3 Replies)
Discussion started by: noppeli
3 Replies

7. Shell Programming and Scripting

SED: Print range, exclude regular expressions.

Ok, so I get that: sed -n '/START/,/END/p' file ...will print every line from START to END inclusive, but I don't want to see START or END. Apart from the obious: sed -n '/START/,/END/p' file | grep -v "START" | grep -v "END" ...is there a simpler way of doing this? Thanks as always! (2 Replies)
Discussion started by: cs03dmj
2 Replies

8. Shell Programming and Scripting

sed and regular expressions problem

Hi Im trying to use sed to change some files which I'll describe here: I want to use a regular expression to grab the <body> tag from a document. However, the <body> tag can look different so the regular expression used will take care of that and "include" all types of bodies, in example:... (4 Replies)
Discussion started by: hjalle
4 Replies

9. UNIX for Dummies Questions & Answers

regular expressions variables in sed

I am trying to pass a regular expression variable from a simple script to sed to remove entries from a text file e.g. a='aaaa bbbb cccc ...|...:' then executing sed from the script sed s'/"'$a"'//g <$FILE > $FILE"_"1 my output file is always the same as the input file !! any... (1 Reply)
Discussion started by: Daniel234
1 Replies

10. UNIX for Dummies Questions & Answers

Regular expressions in sed

I'm using sed to alter a parameter file used in another process. Basically, the file is a template containing a few variables which need to be replaced at runtime. The problem is that using sed with filenames that contain the / character causes matches to fail. eg:... (3 Replies)
Discussion started by: mfreemantle
3 Replies
Login or Register to Ask a Question