07-09-2013
Sed is not 'incompatible' with single or double quotes. Quotes no longer exist by the time sed gets the string. They do alter the interpretation of the string -- as you can see when it spits it back out in the error. It's putting it all on one line.
I think you need to remove the backslashes \ separating lines. Multi-line strings are actually valid in Bourne shell, but putting the backslashes there (inside double quotes) tells it to cram it all in one single line.
Single quotes, which escape nothing ever, just put in literal backslashes and split it across lines anyway.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi all-
I've been fooling with this for a few days, but I'm rather new at this...
I have a bash variable containing a long string of various characters, for instance:
JUNK=this that the other xyz 1234 56 789
I don't know what "xyz" actually is, but I know that:
START=he other
and ... (2 Replies)
Discussion started by: rev66
2 Replies
2. Shell Programming and Scripting
Hi, I'm new at bash scripting -- can anyone here help me about the sed command?
I need to be able to edit and or delete a text from an outside file ie file.txt -- I'm passing a variable and not a string
I was thinking of something like
echo -n "What do you want to edit?: "
read edit
sed... (1 Reply)
Discussion started by: Imajean
1 Replies
3. UNIX for Dummies Questions & Answers
In bash, I can match the ' character in a substition involving the line ending symbol $, easily.
In tcsh I ran into a problem.
Code:
sed "s/$/'/g" filename
sed "s/$/'/g" < filename
sed -e "s/$/'/g" filename
Unmatched '.
Where can I find out why this is the case? (2 Replies)
Discussion started by: uiop44
2 Replies
4. Shell Programming and Scripting
I am trying to execute a script with sed that works well in ksh(Linux) however in bash(solaris 8) though it does not give any errors the output file becomes 0 byte.
header of the script:
ksh:2$ head news.ksh
#!/bin/ksh... (2 Replies)
Discussion started by: acharania2011
2 Replies
5. Shell Programming and Scripting
Hi,
I need to escape slashes in my text, so I use this line:
search_string=`echo $var | sed 's@/@\\\/@g'`I expect that to replace a slash with a backslash followed by a slash. That works nicely, but it has a problematic side-effect. If there are two spaces in the var it replaces them with... (3 Replies)
Discussion started by: RickS
3 Replies
6. Shell Programming and Scripting
Hello everyone I'm doing a program in bash and wanted to know how can I do to delete document lines the words not ending in S with SED, ie, show only those ending with the letter S.
I probe with:
sed -e /$.*/d "$file" | more
to delete all lines NOT ending in S but not work!... (3 Replies)
Discussion started by: adiegorpc
3 Replies
7. Shell Programming and Scripting
Hi friends,
I have two files - input and commands
I want to read the input and replace a value in it with the contents in commands.
My script is like this.
Instead of printing the value in the commands file, it is simply printing $cmd in the output file.
Any pointers are highly... (1 Reply)
Discussion started by: jacobs.smith
1 Replies
8. Debian
Hi Guys
I have another problem I'm trying to solve and hope that some one can help me here.
This is the scenario:
I have a file and I want to add a line on the 3rd line of the file using a bash script. but instead its adding the the bash variable $WEBSITE.
Below is the bash script I'm... (6 Replies)
Discussion started by: linuxjunkie
6 Replies
9. Shell Programming and Scripting
Hi,
I have made a snake game on below bash version. But it is not backward compatible. Can someone suggest a version which is most commonly used and
is backward compatible so that i can change my code and share again?
I have attached the game script. If someone can run it please also suggest... (5 Replies)
Discussion started by: amit14august
5 Replies
10. UNIX for Beginners Questions & Answers
I want to extract data from a ASCII file that looks like the one provided here (see input.txt). For this purpose I used sed commands. I want to chain the sed commands into a script that I can call with custom variables, instead of having to run it multiple times (Need to run the code for 30*24 =... (1 Reply)
Discussion started by: learningtocode
1 Replies
LEARN ABOUT DEBIAN
shtool-subst
SHTOOL-SUBST.TMP(1) GNU Portable Shell Tool SHTOOL-SUBST.TMP(1)
NAME
shtool-subst - GNU shtool sed(1) substitution operations
SYNOPSIS
shtool subst [-v|--verbose] [-t|--trace] [-n|--nop] [-w|--warning] [-q|--quiet] [-s|--stealth] [-i|--interactive] [-b|--backup ext]
[-e|--exec cmd] [-f|--file cmd-file] [file] [file ...]
DESCRIPTION
This command applies one or more sed(1) substitution operations to stdin or any number of files.
OPTIONS
The following command line options are available.
-v, --verbose
Display some processing information.
-t, --trace
Enable the output of the essential shell commands which are executed.
-n, --nop
No operation mode. Actual execution of the essential shell commands which would be executed is suppressed.
-w, --warning
Show warning on substitution operation resulting in no content change on every file. The default is to show a warning on substitution
operations resulted in no content change on all files.
-q, --quiet
Suppress warning on substitution operation resulting in no content change.
-s, --stealth
Stealth operation. Preserve timestamp on file.
-i, --interactive
Enter interactive mode where the user has to approve each operation.
-b, --backup ext
Preserve backup of original file using file name extension ext. Default is to overwrite the original file.
-e, --exec cmd
Specify sed(1) command directly.
-f, --file cmd-file
Read sed(1) command from file.
EXAMPLE
# shell script
shtool subst -i -e 's;(c) ([0-9]*)-2000;(c) 1-2001;' *.[ch]
# RPM spec-file
%install
shtool subst -v -n
-e 's;^(prefix=).*;1 $RPM_BUILD_ROOT%{_prefix};g'
-e 's;^(sysconfdir=).*;1 $RPM_BUILD_ROOT%{_prefix}/etc;g'
`find . -name Makefile -print`
make install
HISTORY
The GNU shtool subst command was originally written by Ralf S. Engelschall <rse@engelschall.com> in 2001 for GNU shtool. It was prompted
by the need to have a uniform and convenient patching frontend to sed(1) operations in the OpenPKG package specifications.
SEE ALSO
shtool(1), sed(1).
18-Jul-2008 shtool 2.0.8 SHTOOL-SUBST.TMP(1)