02-09-2005
sed substitution problems
Hi falks,
I need to substitute in my ksh program, parameter (full path of directory) ,which is sent from outside program, with another parameter (another full path of directory) ,which is known and validated inside my program.
I tried to use "sed" ,but i failed.
For example:
STR1="/home/ias"
STR2="/home/oracle"
sed -e s/"${STR1}"/"${STR2}"/g > /tmp/test.lst
sed: -e expression #1, char 10: Unknown option to 's'
Any ideas?
Thanks in advance,
Nir
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi,
I have a set of files containing strings like I.TEST1_TEST2 or B.ESSA_ESSB for example.
Does somebody know how to substitute these strings whith the same name and an extension "_V1" (ie. I.TEST1_TEST2_V1) using sed command or else ? (3 Replies)
Discussion started by: jo_aze
3 Replies
2. Shell Programming and Scripting
I am trying to set a command into a variable in a csh script using command substituion with ``. I am having a problem with ps command combined with grep. The command is as follows (shows processes running with the word gpts in them).
/usr/ucb/ps axwww | grep gpts
this works fine at the... (2 Replies)
Discussion started by: voodoo31
2 Replies
3. Shell Programming and Scripting
Hi ,
I am stuck up in the below scenario:-
I need to read a file name (eg A.txt) name frm another file (eg B.txt) and then I need to search for a particular expression in A.txt and substitute it with another expression.
How can I use SED inside SHELL Scripting and command prompt as... (2 Replies)
Discussion started by: shubhranshu
2 Replies
4. Shell Programming and Scripting
Hi ,
I am stuck up in the below scenario:-
I need to read a file name (eg A.txt) name frm another file (eg B.txt) and then I need to search for a particular expression in A.txt and substitute it with another expression.
How can I use SED inside SHELL Scripting and command prompt as well to... (1 Reply)
Discussion started by: shubhranshu
1 Replies
5. Shell Programming and Scripting
Hi guys,
Can u please help me to replace (-) with (/) in a file containing no of records using "sed " command in unix.
thanks in advance.
subhendu (5 Replies)
Discussion started by: subhendu81
5 Replies
6. UNIX for Dummies Questions & Answers
I'm a noob to unix, and I have a line of data like the following:
title=Boston|tcolor=green|desc=Large city in New England|url=www.boston.com
Is there a way to change a field value with sed substitution?
(i.e. change tcolor=green to tcolor=blue)
I figured out: sed... (19 Replies)
Discussion started by: stabby
19 Replies
7. Shell Programming and Scripting
I have a file with some numbers having single quotes around them which I want to remove.
i.e. '923930' -> 23930
If it can be done without using sed thats fine. I have tried with sed but can't think how to replace this pattern on only the numbers (13 Replies)
Discussion started by: user_invalid
13 Replies
8. Shell Programming and Scripting
Hello,
I have two files. File1 is normal txt file and File2 contains list of line numbers.
e.g. File2:
3
6
9
.....
I need to replace a character in File1 in lines (taken from File2). For that I am using a "for" loop:
for i in $(cat File2)
do
sed "$i s/Y/N/" File1
done
but my... (3 Replies)
Discussion started by: shekhar2010us
3 Replies
9. Shell Programming and Scripting
To all geeks,
What I want to achieve:
1. Accept two filenames from user and store the filenames in two variables (FILE1 and FILE2)
2. Check if files exisits. If doesn't, then exit
3. If files exist, look for a particular string in both files
4. If the string exists, then change the... (8 Replies)
Discussion started by: Deepak Tulsani
8 Replies
10. Shell Programming and Scripting
Hi
I am setting the variables like this :
setenv MODULE1 modem5__3
setenv MODULE2 modem5__2
setenv MODULE3 modem_ctrl_1_1
setenv MODULE4 modem_1_0
setenv COUNT 10
I am having a bash script as shown below
################################################
#!/bin/bash
for ((... (5 Replies)
Discussion started by: kshitij
5 Replies
basename(1) General Commands Manual basename(1)
NAME
basename, dirname - Returns the base file name or directory portion of a path name
SYNOPSIS
basename string [suffix]
dirname string
STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:
basename: XCU5.0
dirname: XCU5.0
Refer to the standards(5) reference page for more information about industry standards and associated tags.
OPTIONS
None
OPERANDS
A string to be evaluated. This string may be empty. A file name suffix to be deleted if found. This operand applies to the basename com-
mand only, and is optional.
DESCRIPTION
The basename command reads the string specified on the command line, deletes the portion from the beginning to the last / (slash), and
writes the base file name to standard output. If suffix is specified on the command line and suffix appears in string, the string is
returned with the suffix removed.
The dirname command reads the string specified on the command line, deletes from the last / (slash) to the end of the line, and writes the
remaining path name to standard output.
[Tru64 UNIX] The basename and dirname commands are generally used inside command substitutions within a shell procedure to specify an out-
put file name that is some variation of a specified input file name. For more information, see the csh(1), ksh(1), and sh(1b) or sh(1p)
reference pages.
The following table demonstrates the processing applied to characters with particular meanings by the basename and dirname commands.
------------------------------
basename dirname
string Result Result
------------------------------
/ / /
// / /
/a/b b /a
//a//b// b //a
<null> err msg err msg
a a .
"" .
/a a /
/a/b b /a
a/b b a
------------------------------
NOTES
It is not an error if suffix is not a part of string.
EXAMPLES
To display the base file name of a shell variable, enter: basename $WORKFILE
This displays the base file name of the value assigned to the WORKFILE shell variable. If WORKFILE is set to /u/gabe/program.c,
then program.c is displayed. To construct, in a shell script, a file name that is the same as another file name, except for its
suffix, enter the following command, using grave accents: OFILE=`basename $1 .c`.o
This assigns to OFILE the value of the first positional parameter ($1), but with its suffix changed to $1 is /u/jim/program.c, then
OFILE becomes program.o. Because program.o is only a base file name, it identifies a file in the current directory.
The grave accents perform command substitution. To construct the name of a file located in the same directory as another, enter the
following command, using grave accents: AOUTFILE=`dirname $TEXTFILE`/a.out
This sets the AOUTFILE shell variable to the name of an a.out file that is in the same directory as TEXTFILE. If TEXTFILE is
/u/fran/prog.c, then the value of dirname $TEXTFILE is /u/fran and AOUTFILE becomes /u/fran/a.out.
ENVIRONMENT VARIABLES
The following environment variables affect the execution of basename and dirname: Provides a default value for the internationalization
variables that are unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the inter-
nationalization variables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-
empty string value, overrides the values of all the other internationalization variables. Determines the locale for the interpretation of
sequences of bytes of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). Determines the
locale for the format and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the
processing of LC_MESSAGES.
SEE ALSO
Commands: csh(1), ksh(1), Bourne shell sh(1b), POSIX shell sh(1p)
Standards: standards(5)
basename(1)