sed problem in ksh


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed problem in ksh
# 8  
Old 02-15-2010
You actually need 3 slashes.

Code:
lava@host$ cat file
one,ABCD\XYZ,Server One
lava@host$
lava@host$ cat run
#!/bin/ksh

VAR="ABCD\\\XYZ"

echo "Var is $VAR"
sed -e 's/'$VAR'/SERVER/' file
lava@host$
lava@host$ ./run
Var is ABCD\XYZ
one,SERVER,Server One

Cheers
# 9  
Old 02-15-2010
Quote:
Originally Posted by lavascript
You actually need 3 slashes.

Code:
lava@host$ cat file
one,ABCD\XYZ,Server One
lava@host$
lava@host$ cat run
#!/bin/ksh
 
VAR="ABCD\\\XYZ"
 
echo "Var is $VAR"
sed -e 's/'$VAR'/SERVER/' file
lava@host$
lava@host$ ./run
Var is ABCD\XYZ
one,SERVER,Server One

Cheers

But, i need to get the value into VAR from another var ENVDB

Code:
 
$  echo $ENVDB
ABCD\XYZ
$ VAR=`echo "$ENVDB" | sed "s/\\/\\\\/"`
sed: command garbled: s/\/\/

Any idea, how to put the value from ENVDB to VAR?
# 10  
Old 02-15-2010
Quote:
Originally Posted by sudheer1984
Any idea, how to put the value from ENVDB to VAR?
Code:
VAR=`echo "$ENVDB" | sed 's/\\/\\\\/'`

# 11  
Old 02-15-2010
(The number of backslashes will be different when typed from the command prompt compared with a similar line in a script. It is important that the solutions posted are tested from a script not from the command line.).
# 12  
Old 02-15-2010
Quote:
Originally Posted by Franklin52
Code:
VAR=`echo "$ENVDB" | sed 's/\\/\\\\/'`

Its working from command line, But when i run it from a script not working

Code:
$ cat file
one,ABCD\XYZ,Server One
$ cat run
#!/usr/bin/ksh
ENVDB='ABCD\XYZ'
VAR=`echo $ENVDB | sed 's/\\/\\\\/'`
sed "s/$VAR/SERVER/" file
$ run
sed: command garbled: s/\/\\/
First RE may not be null
$

# 13  
Old 02-15-2010
I hope this helps you...

Code:
$ cat file
one,ABCD\XYZ,Server One
$ cat run
#!/usr/bin/ksh
ENVDB="ABCD\XYZ"
VAR=$(echo $ENVDB | sed 's/\(\\\)/\1\1/')
sed "s/$VAR/SERVER/" file
$./run
one,SERVER,Server One
$

# 14  
Old 02-15-2010
Quote:
Originally Posted by malcomex999
I hope this helps you...

Code:
$ cat file
one,ABCD\XYZ,Server One
$ cat run
#!/usr/bin/ksh
ENVDB="ABCD\XYZ"
VAR=$(echo $ENVDB | sed 's/\(\\\)/\1\1/')
sed "s/$VAR/SERVER/" file
$./run
one,SERVER,Server One
$


For me it worked when i use 4 '\' in side script

Code:
VAR=$(echo $ENVDB | sed 's/\\\\/\\\\\\\\/')

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help needed - ksh: sed: command garbled:

Hi all, What am I doing wrong here? $ cat test_sed.ksh #!/usr/bin/ksh var="sed -e \'6s/9/6/\' testfile.txt > testfile.txt.2" $var $ ./test_sed.ksh sed: command garbled: \'6s/9/6/\' Thank you! (4 Replies)
Discussion started by: ejianu
4 Replies

2. Shell Programming and Scripting

Using Sed to do a substitution inside ksh

I'm trying to do an ls from inside of a ksh script. I loop through the results one line at a time and attempt to do a substitution using sed to convert YYYYMMDD from the older files into the newer files. Basically sometimes the ETL load runs over midnight and half the files are off by one day... (3 Replies)
Discussion started by: Calbrenar
3 Replies

3. Shell Programming and Scripting

SED sub commands in KSH not working for me

I am using SED to edit a file (called file) the file contains the word "ERROR" and I want to use SED to: 1. Search for text "ERROR" If found, 2. Append new line with text "hoi" I tried: sed 's/ERROR/ a\hoi' file sed 's/ERROR/ a\ hoi' file I get all the time the error sed:... (7 Replies)
Discussion started by: Alex400
7 Replies

4. Shell Programming and Scripting

sed command on ksh

How to use sed command to delete / and \ in a text... Thanks! (5 Replies)
Discussion started by: nram_krishna@ya
5 Replies

5. Shell Programming and Scripting

KSH: substitution character, AWK or SED?

Hi Gurus, I am working with a korn shell script. I should replace in a very great file the character ";" with a space. Example: 2750;~ 2734;~ 2778;~ 2751;~ 2751;~ 2752;~ what the fastest method is? Sed? Awk? Speed is dead main point, Seen the dimensions of the files Thanks (6 Replies)
Discussion started by: GERMANICO
6 Replies

6. Shell Programming and Scripting

Ksh problem

I am having a problem with this command working, can anyond help? $ export Path=/user/bin user/local/bin /user/ucb/bin (2 Replies)
Discussion started by: vthokiefan
2 Replies

7. Shell Programming and Scripting

passing variables to sed in ksh

Hi, i need help passing variables to sed using ksh. My goal is to get particular data from log files. first i put a mark to the log files. echo "TEST_"`date + %m_%d_%Y_%T"` >markFile this will produce a 'markFile' which contain text like this TEST_06_01_2009_21:55:09 then i put the mark... (2 Replies)
Discussion started by: d.anggrianto
2 Replies

8. Shell Programming and Scripting

appending a file using sed in ksh

i am trying to append a 5 line SGML file(file1) with a 500,000 line SGML file (file2). file1 is a template, so i wish to preserve. i only want to add lines 5 to the end of file2. i have: cp file1 temp1 sed -n '5,$p' file2 >> temp1 when i check the tail of temp1, i consistantly find the... (3 Replies)
Discussion started by: smac
3 Replies

9. Shell Programming and Scripting

Please help problem in KSH

Hi All, I have got a problem. I have written a Shell script which cuts some information from the file a and puts it in file b. But i get this error when i execute the shell script. This is what i have written in the script. #! /usr/bin cd /test ls $2 > a cut -f 1 -d '.' a > b When i... (2 Replies)
Discussion started by: srikanthshastry
2 Replies

10. Shell Programming and Scripting

ksh problem

when declaring a variable e.g. export DAYS what checking / how can i check that the value assigned only contains numeric characters or integers ? (1 Reply)
Discussion started by: jinky
1 Replies
Login or Register to Ask a Question