05-27-2004
For starters, you can switch to double quotes:
sed "s/mytext/$var/"
Sometimes that does not work. It would depend on the exact value of
mytext. So another solution is to turn the single quoted string into two single quoted strings:
sed 's/mytext/'$var'/'
In this case, the 2nd single quoted string is '/'. Just using a backslash would work to that and it saves a character:
sed 's/mytext/'$var\/
There is actually no reason to quote a slash so this should also work with most shells:
sed 's/mytext/'$var/
And there may be no reason to quote anything at all, but again, the actual vakue of
mytext determines this. So this may work:
sed s/mytext/$var/
Opps...you only wanted
a solution, so I'll quit now....
These 3 Users Gave Thanks to Perderabo For This Post:
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi,
So what I'm trying to do is
I have these variables and if they have a dot in them , I want everyting before and including the dot removed.
Any ideas ?
Something like this I would want :
$var = $var | sed 's/.*\.//'
but that does't work.
I want to save that removal $var... (2 Replies)
Discussion started by: seaten
2 Replies
2. Shell Programming and Scripting
HOw can I use any variable in sed command.
For example I am using 'sed -e 's/?/$ORACLE_HOME/g' $file_name
Here it replaces ? with $ORACLE_HOME. Instead of it I need actual value of $ORACLE_HOME. How can I do that?
Please advice.
Thanks in advance.
Malay (13 Replies)
Discussion started by: malaymaru
13 Replies
3. Shell Programming and Scripting
Hi,
My shell script searches a VALUE in a file, copies it to a variable and updates a line in another file with this new VALUE (replacing the old)
The value has a pattern-
VALUE=`$$MyDate=11-11-2008 09.09.56.123456`
(yes the $ - . = and space are all part of the string)
I am having... (6 Replies)
Discussion started by: ngagemaniac
6 Replies
4. Shell Programming and Scripting
Hello,
i have another sed question.. I'm trying to do variable substition with sed and i'm running into a problem.
my var1 is a string constructed like this:
filename1 filerev1 filepath1
my var2 is another string constructed like this:
filename2 filerev2 filepath2
when i do... (2 Replies)
Discussion started by: alrinno
2 Replies
5. Shell Programming and Scripting
i need to use a value in the Variable to print a particular line from a file using sed command.
i tried the below one but its is not working
sed -n ' "$var"p ' abc.txt
but its is not working please help me to sort out this. (3 Replies)
Discussion started by: Kochu77
3 Replies
6. Shell Programming and Scripting
I want to instert Category:XXXXX into the 2. line
something like this should work, but I have somewhere the wrong sytanx. something with the linebreak goes wrong:
sed "2i\\${n}Category:$cat\n"
Sample:
Titel Blahh Blahh abllk sdhsd sjdhf
Blahh Blah Blahh
Blahh
Should look like... (2 Replies)
Discussion started by: lowmaster
2 Replies
7. Shell Programming and Scripting
I'm trying to make a sed substitution where the substitution pattern is an environment variable to be expanded, but the variable contains a "slash".
sed -e 's/<HOME_DIRECTORY>/'$HOME'/'This gives me the following error:
sed: -e expression #1, char 21: unknown option to `s'Obviously this is... (2 Replies)
Discussion started by: Ilja
2 Replies
8. Shell Programming and Scripting
Hi Friends
in sed whether we can use variable.like the following expression.
sed -i 's/ABC/$var/g' filename
I am using Kernel 2.6.18-194.11.1.el5 RedHat linux.
I have tried sed -i 's/ABC/"$var"/g' filename, still not working.:(
Please help.
Thanks in advance
Joy (2 Replies)
Discussion started by: itsjoy2u
2 Replies
9. Red Hat
Hi all,
Hereby wish to have your advise for below:
Main concept is
I intend to get current directory of my script file.
This script file will be copied to /etc/init.d.
A string in this copy will be replaced with current directory value.
Below is original script file:
... (6 Replies)
Discussion started by: cielle
6 Replies
10. Shell Programming and Scripting
version=git
release=r8
echo lp-testsuite-git-r8.x86_64.rpm |sed -e "s/-$version-$release.*//g"
I want to get
lp-testsuite
what's wrong with me ? (1 Reply)
Discussion started by: yanglei_fage
1 Replies
LEARN ABOUT CENTOS
ao_string_tokenize
ao_string_tokenize(3) Programmer's Manual ao_string_tokenize(3)
NAME
ao_string_tokenize - tokenize an input string
SYNOPSIS
#include <your-opts.h>
cc [...] -o outfile infile.c -lopts [...]
token_list_t* ao_string_tokenize(char const* string);
DESCRIPTION
This function will convert one input string into a list of strings. The list of strings is derived by separating the input based on white
space separation. However, if the input contains either single or double quote characters, then the text after that character up to a
matching quote will become the string in the list.
The returned pointer should be deallocated with free(3C) when are done using the data. The data are placed in a single block of allocated
memory. Do not deallocate individual token/strings.
The structure pointed to will contain at least these two fields:
tkn_ct The number of tokens found in the input string.
tok_list An array of tkn_ct + 1 pointers to substring tokens, with the last pointer set to NULL.
There are two types of quoted strings: single quoted (') and double quoted ("). Singly quoted strings are fairly raw in that escape char-
acters () are simply another character, except when preceding the following characters:
double backslashes reduce to one
' incorporates the single quote into the string
0fP suppresses both the backslash and newline character
Double quote strings are formed according to the rules of string constants in ANSI-C programs.
string string to be tokenized
RETURN VALUE
pointer to a structure that lists each token
ERRORS
NULL is returned and errno will be set to indicate the problem:
EINVAL - There was an unterminated quoted string.
ENOENT - The input string was empty.
ENOMEM - There is not enough memory. @end itemize
EXAMPLES
#include <stdlib.h>
int ix;
token_list_t* ptl = ao_string_tokenize(some_string)
for (ix = 0; ix < ptl->tkn_ct; ix++)
do_something_with_tkn(ptl->tkn_list[ix]);
free(ptl);
Note that everything is freed with the one call to free(3C).
SEE ALSO
The info documentation for the -lopts library.
configFileLoad(3), optionFileLoad(3), optionFindNextValue(3), optionFindValue(3), optionFree(3), optionGetValue(3), optionLoadLine(3),
optionMemberList(3), optionNextValue(3), optionOnlyUsage(3), optionProcess(3), optionRestore(3), optionSaveFile(3), optionSaveState(3),
optionUnloadNested(3), optionVersion(3), strequate(3), streqvcmp(3), streqvmap(3), strneqvcmp(3), strtransform(3),
2014-06-10 ao_string_tokenize(3)