08-06-2007
Problems with sed and flat file variables
Hello All,
It has been a loooooooooooong time since I had last used sed but decided to use it for a simple task I have .
My goal is to use sed to read variables from a flat file then use those same variables in order to make some subsitutions. However what I am finding is that when the variable is in fact substituted there is an additional block looking characted at the enf of the variable, thus throwing off my script.
My goal is to remove this [] character from the substituted variable however I am having a devil of a time doing so.
Does anyone have any suggestions or experience with such a task?
Here is my code as it stands:
#!/usr/bin/ksh
#test out mapping and clearing WS Cache for night migrations
cat /cygdrive/c/temp/misc/array.txt | while read ARRAY
do
sed -e "s/csslnxyz/$ARRAY/" -e 's/K/\n/' -e 's/xyz1_84617/FCH1_84617/' -e 's/xyzPRD/FCHIPRD/' ws_template.txt >> first_output1.txt
done
The format if the flat file (array.txt) is as follows:
cssln123(return)
cssln124(return)
cssln125(return)
The issue I can see is that when I do testing and echo the $ARRAY values there is indeed extra return character shown.
For example I would expect (echo $ARRAY;echo "is my variable") to look like:
cssln123 is my variable
However in testing I see:
cssln123
is my variable
And this is my issue. I need to find a way to remove those extra EOL chars either before performing or after performing the substitution , whicever is easier.
YOUR HELP IS MUCH MUCH APPRECIATED!!!
Thanks!
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi,
Q1: are the variables in shell script usually UPPER CASE?
Q2: can sed output to the same file that it's using it?
eg. cat sameFile | sed 's/here/there/g' > sameFile ?
I expect the sed replace all "here" to "there" and change it in sameFile.
i tried that one, the sameFile... (1 Reply)
Discussion started by: gusla
1 Replies
2. UNIX for Dummies Questions & Answers
when i am running a sed command i want to get rid of all of the backslashes in the lin but it is taking this as being a command how do i delete backslashes?????
sed -e "s/\/g"
Anyn ideas????????? (7 Replies)
Discussion started by: johnnynolegs
7 Replies
3. Shell Programming and Scripting
Hi gurus, hoping someone can help with a sed line that can do the following...
I have a flat file with about 1000 records, but in order to import into openoffice spreadsheet, I need to create a delimited file. I'd like to do 2 things with the SED command:
1- add a pipe character "|" at the end... (4 Replies)
Discussion started by: RogCor
4 Replies
4. UNIX for Dummies Questions & Answers
hello!
I am trying to use sed to copy specific set of lines from a file for which the starting and ending line numbers of the lines to be copied are stored in shell variables. How can i copy those lines?
if the input_file is something like this
and if the following is the script
a=2
b=4... (4 Replies)
Discussion started by: a_ba
4 Replies
5. Shell Programming and Scripting
sed awk one liner (2 Replies)
Discussion started by: jap2614
2 Replies
6. Shell Programming and Scripting
Hello Everyone
I need to create a script file which must append some lines to a target text file, I'm using sed for windows, the script file look like this:
{
a\
STRINGTABLE DISCARDABLE\
BEGIN\
5, 150 {a\
#define RC_SHELL, "%ID_SHELL%"\
#define RC_NAME, "%ID_NAME%"\
END
}
... (1 Reply)
Discussion started by: edgarvm
1 Replies
7. Shell Programming and Scripting
Greetings all,
Been trying to do my Googling and forum searches but can't seem to lock in on a solution.
I have a script that parses a log and collects all the uniq events to a flat file. Some days might have 50 unique events, other days might have 75. (Hence my reference to dynamic.)
... (2 Replies)
Discussion started by: sjrupp
2 Replies
8. Shell Programming and Scripting
Hi Everyone,
I need some help with sed and I'm totally new to it.
I have a template file with variables in it. These variables start with a '$' sign and are exactly one character long (plus the '$' sign). For example: $a, $b, etc.
Each variable should be replaced with the contents of a... (9 Replies)
Discussion started by: csarli2006
9 Replies
9. Red Hat
Hi,
I'm creating a flat file with various deimiters in Linux RHEL. the content for the flat file will be extracted from an oracle database. delimiters also stored in a seperate table in oracle databasae. when i use extended ASCII characters like cedilla or EURO (€) symbols, the actual character is... (9 Replies)
Discussion started by: Fakru.y
9 Replies
10. Shell Programming and Scripting
Hello, I have a large flat file where i need to change data in columns 131-133 based on what is in columns 172-173. I am not sure if I need to read the file line by line and make the change or if I can do this in a single statement. thank you (3 Replies)
Discussion started by: gblmin
3 Replies
echo(1B) SunOS/BSD Compatibility Package Commands echo(1B)
NAME
echo - echo arguments to standard output
SYNOPSIS
/usr/ucb/echo [-n] [argument]
DESCRIPTION
echo writes its arguments, separated by BLANKs and terminated by a NEWLINE, to the standard output.
echo is useful for producing diagnostics in command files and for sending known data into a pipe, and for displaying the contents of envi-
ronment variables.
For example, you can use echo to determine how many subdirectories below the root directory (/) is your current directory, as follows:
o echo your current-working-directory's full pathname
o pipe the output through tr to translate the path's embedded slash-characters into space-characters
o pipe that output through wc -w for a count of the names in your path.
example% /usr/bin/echo "echo $PWD | tr '/' ' ' | wc -w"
See tr(1) and wc(1) for their functionality.
The shells csh(1), ksh(1), and sh(1), each have an echo built-in command, which, by default, will have precedence, and will be invoked if
the user calls echo without a full pathname. /usr/ucb/echo and csh's echo() have an -n option, but do not understand back-slashed escape
characters. sh's echo(), ksh's echo(), and /usr/bin/echo, on the other hand, understand the black-slashed escape characters, and ksh's
echo() also understands a as the audible bell character; however, these commands do not have an -n option.
OPTIONS
-n Do not add the NEWLINE to the output.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWscpu |
+-----------------------------+-----------------------------+
SEE ALSO
csh(1), echo(1), ksh(1), sh(1), tr(1), wc(1), attributes(5)
NOTES
The -n option is a transition aid for BSD applications, and may not be supported in future releases.
SunOS 5.10 3 Aug 1994 echo(1B)