Visit Our UNIX and Linux User Community


Pattern substitute for "\"


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Pattern substitute for "\"
# 1  
Old 06-27-2002
Question Pattern substitute for "\"

Hi
I want to convert string

text="/opt/string/text"

to

"\/opt\/string\/text"

Any ideas how i can do it inside a shell script

I tried sed/awk but i am getting syntax error.
this is code
text =`echo $text | sed 's/\//\\\//'`


HELP

Thanks
# 2  
Old 06-27-2002
You might want to search this site - some of the experts on sed have answered questions like this - it may help.

Being an non-expert with sed, the closest it would do for me is the first /.

echo $text | sed 's/\//\\\//'

I thought it was suppose to go through the whole line replacing all occurances. (Maybe the experts can answer this too). And it would not work in a script...strange.

Last edited by RTM; 06-27-2002 at 06:39 PM..
# 3  
Old 06-27-2002
First thing I would suggest is to use a different character for your forward slashes as sed dividers. If you are using filenames and they contain /'s....you can use = or others ....i.e

Script:
text="/opt/string/text"
echo $text
text=`echo $text | sed 's=/=\\\/=g'`
echo $text

Notice the 'g' on the end (globally do this). Without 'g' you're looking at the first instance of this for each line.

You need 3 backslashes in the 'to' part of the sed command. As you know the \ means take next char literally...so it's basically \\ for the backslash...the \/ for the forward slash.
# 4  
Old 06-28-2002
Computer

got it. Thanks.

Previous Thread | Next Thread
Test Your Knowledge in Computers #921
Difficulty: Medium
Unix Epoch Time cannot be extended backwards from the epoch date.
True or False?

10 More Discussions You Might Find Interesting

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

2. Shell Programming and Scripting

In Vi "sed" substitute word on a specific line

i need to substitute word on a specific line. I was able to do it on command line like below but it is not working in vi. command line like below: sed -e '8s/table_name/schema.table_name/' file_name. in vi table_name and schema are my positional parameters that i pass into the script. ... (5 Replies)
Discussion started by: pimmit22043
5 Replies

3. UNIX for Dummies Questions & Answers

Egrep confusion with "I" and "-I" pattern

I am executing following command egrep -w I filename.txt the filename.txt has following data .... -I 07-18 08:31:19.924 9880 6 SessionManager ConnectConfig: ConfigurationWebService LoginResults=SuccessfulLogin I am so hungry that I need to eat I expect egrep to print only the second... (1 Reply)
Discussion started by: VBG
1 Replies

4. Shell Programming and Scripting

HELP WITH SEARCH AND SUBSTITUTE IN "|" DELIMITED FILE

Hi I have a "|" delimited file as shown below. 55987|2011-04-07|09:30: 8.0|09:30:27.4|9194 55988|2011-04 07|09:30:21.0|09:30:27.4|9199 55989|2011-04-07|09:30:25.0|09:30:27.5|9176 55990|2011-04-07|09:29:33.0|09:30:27.5|9196 55991|2011-04-07|09:30:21.0|09:30:27.5|9199... (3 Replies)
Discussion started by: alok3141
3 Replies

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

6. Shell Programming and Scripting

How do I grep with sed and substitute a "#" on that line

Hey all, I am trying to disable a certain cronjob before I run a backup. I want to be able to add/remove a "#" from the beginning on the crontab line it is located on. Here is the crontab: 46 11 * * * /etc/webmin/cron/tempdelete.pl @daily /etc/webmin/time/sync.pl */5 * * * *... (4 Replies)
Discussion started by: eg mike
4 Replies

7. Shell Programming and Scripting

How to substitute "\" by "\/" using SED?

Input: a/b/c Output required: a\/b\/c This does not work: sed s/'\/'/'\//'/g (6 Replies)
Discussion started by: indianjassi
6 Replies

8. Shell Programming and Scripting

Can "sed" substitute word on a specific line?

Hello experts, I know line number of the word I want to replace. Can "sed" substitute word on a specific line? As well, can sed substitute words inside a specific patten. ex. <word>lalala</word> #replace anything between <word> and </word> minifish (2 Replies)
Discussion started by: minifish
2 Replies

9. Shell Programming and Scripting

sed substitute / for \ : error "Function can not be parsed"

Hello all, I have a weird issue when trying to substitute the slashes into backslashes. If I execute this on the command-line (bash / ksh) I get the path correctly translated with backslashes instead of slashes. > echo $PWD | sed 's/\//\\/g' However, when I put this in my script to... (3 Replies)
Discussion started by: candyflip2000
3 Replies

10. Shell Programming and Scripting

Failed to substitute string with "<>"

Hi folks, I have the following template file: application.filePath.core = /core-RIGHTV/Html/ application.filePath.xbip = /xbip-RIGHTV/Html/ translator.rootContext = /translator_<schame_name>/ I need to substitute the string in the third line "<schema_name>" with $SCHEMA_NAME I ran the... (4 Replies)
Discussion started by: nir_s
4 Replies

Featured Tech Videos