What syntax to use with sed c\


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting What syntax to use with sed c\
# 8  
Old 01-30-2009
Pludi, why does that happen?
# 9  
Old 01-30-2009
No clue. I just went by the description of the 'c' command in the man page, where it's indicated as
Code:
c \
text

as opposed to
Code:
s/regexp/replacement/

and tried it on one of our HP-UX machines (where sed complained if the newline wasn't there)
My guess would be that this was originally intended to preserve any whitespace at the start of the replacement text that otherwise might be ignored by the tokenizer.
# 10  
Old 01-30-2009
Using variables in the expression

Sorry to be a pain but I now want to use a variable instead of a line number in my script and I am getting nowhere fast with combinations of " and ' and `.

What would be the correct way to write

sed '$vLineNumberc\
replacement txt' $vfilename

(not forgetting the essential line return after the \)

Hopefully,

Susan
# 11  
Old 01-30-2009
-----

Last edited by pludi; 01-30-2009 at 08:55 AM.. Reason: see below
# 12  
Old 01-30-2009
Change each single quote to double quotes. Shell doesn't do variable substitution inside single quotes. Also, changing $vLineNumber to ${vLineNumber} can help.

HTH
# 13  
Old 01-30-2009
Back to not recognising the line return?

I tried
sed "${vLineNumber}c\
.run logon.txt" "$vScriptName" > $vScriptName2

and received this message

sed: 0602-404 Function 3c.run logon.txt cannot be parsed.

vLineNumber is successfully translating to 3 but it seems as if the line return is not being recognised anymore - or am I on the wrong track?

Without the {} the message is
sed: 0602-403 .run logon.txt is not a recognized function. So {} definitely seems necessary.

Hope you can help,

Susan
# 14  
Old 01-30-2009
Solved

An extra \ does the job.

sed "${vLineNumber}c\\
replacement text" "$vScriptName" > $vScriptName2

I got the idea from Re: Illegal variable name & carriage return

Thanks to everyone for their help.

Bye,

Susan
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Can sed use a file on the syntax?

Dear all, I need help, again. I would like to use a sed on a for. Is is possible to ask sed to call a file in the syntax? For exemple: sed "/Y/ s/number/X/" test_imput > test_output where Y is a file which inside there is one pattern only; Also X is a file with one... (6 Replies)
Discussion started by: lColli
6 Replies

2. Shell Programming and Scripting

Another sed Syntax Puzzle . . .

Greetings! Have a quick question for the community today; this time looking at a nifty little sed puzzle ;) Consider the following file content to be worked through:What needs to happen is theblock should be removed up to and including the following blank line, leavingI have bits and pieces... (8 Replies)
Discussion started by: LinQ
8 Replies

3. Shell Programming and Scripting

sed syntax error

Hi, In the following excerpt of shell script code: I could not understand the sed syntax. Could anyone shed some light on this? configure_ssl() { jboss_conf_file=$1 echo "Configuring SSL for -" ${jboss_conf_file} isSSLSetup=`echo cat ${jboss_conf_file} | grep <Connector... (2 Replies)
Discussion started by: royalibrahim
2 Replies

4. Shell Programming and Scripting

sed s/// syntax help

<tr><td width=10% style='width:5%;background:#F7F0D9;padding:0in 0in 0in 0in 0in'><center><b>Package</b></td><td width=10% valign=center style='width:5%;background:#F7F0D9;padding:0in 0in 0in 0in 0in'><center><b>JTs</b></td> This is got to be simple. I run this on the above .html file: sed... (8 Replies)
Discussion started by: dba_frog
8 Replies

5. UNIX for Dummies Questions & Answers

sed - need help for syntax

Hello, here is what I've got : FILE='/OPERATIONNEL/SATURNE/CHAMPS/MASTER/ANA/SATURNE_1DAV_20080805_20080806_S3D_T_R20080806.NC ';;... (4 Replies)
Discussion started by: Aswex
4 Replies

6. Shell Programming and Scripting

Explain following sed syntax please

Thanks to this forum I have managed to work out a solution to my problem and actually understand most of it, but one thing is confusing me and I am sure someone here can explain. I need to insert a piece of txt into a file. This txt is awk '{ sub(/$/,"\r"); print }' $JCL_WBB50103_EFTOUT >... (2 Replies)
Discussion started by: hukcjv
2 Replies

7. Shell Programming and Scripting

Obscure sed extraction syntax

Hi, Could anyone clearly explain me the below sed construct in detail to get to know what it actually does? sed 's/\(* *\)//4' echo 'test;10;20' | sed 's/*;\(*\)/\1/' (1 Reply)
Discussion started by: royalibrahim
1 Replies

8. Shell Programming and Scripting

syntax for variables in sed

I always kind of wondered this but I have a variable that I want to use in a search and replace. Basically I want to search a file for the string in my variable and replace it with something fixed but I'm unsure of the variable rule in sed. Here's generally what I have: sed 's/$name/newname/g'... (15 Replies)
Discussion started by: eltinator
15 Replies

9. Shell Programming and Scripting

Help for Sed Syntax problem

I have one File named "txt_file" # cat txt_file <DBType>RT</DBType> <AppType>RT</AppType> -------------------------------------------------- I want replace "<AppType>RT</AppType>" to <AppType>XY</AppType> in txt_file and output redirect to Newfile ... (2 Replies)
Discussion started by: SanjayLinux
2 Replies

10. UNIX for Dummies Questions & Answers

sed syntax

Hi, How can i use sed command to modify a part of a variable containing "/" by another containing "/" like describe below: VAR="/app/share/eai" VAR1="/app/share" VAR2="/data/test" echo $VAR | sed 's/... ??? # using sed to replace $VAR1 in $VAR by $VAR2 ? (4 Replies)
Discussion started by: jo_aze
4 Replies
Login or Register to Ask a Question