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
LEARN ABOUT LINUX
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)