12-30-2008
Sed parsing error
I'm having a problem with a sed script.
A programmer needs to change columns 942,943,944 to blank spaces only where it has the number 999 in every line.
I didn't have a copy of the data file to test with originally so made my own up with a bunch of x's and put 999 in columns 5-7. The sed worked.
Today, I got a copy of the real data file, changed the ‘4' to ‘941' to reflect the actual starting column and the script fails with :
---
# ./sed_test
#!/bin/ksh -xv
#
sed -e 's/^\(.\{940\}\)999/\1 /' /admin/bin/test/PGINPEN > /admin/bin/test/sed.test.data.out
+ sed -e s/^\(.\{940\}\)999/\1 / /admin/bin/test/PGINPEN
+ 1> /admin/bin/test/sed.test.data.out
sed: 0602-404 Function s/^\(.\{941\}\)999/\1 / cannot be parsed.
___
It doesn't like the starting column for some reason.
Here are the 2 scripts I used.
sed -e 's/^\(.\{4\}\)999/\1 /' /admin/bin/test/sed.test.data2 > /admin/bin/test/sed.test.data.out
sed -e 's/^\(.\{941\}\)999/\1 /' /test.input.file > /test.output.file
Any ideas?
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
hi , i would like to parse some file with the fallowing data :
data data data "unwanted data" data data "unwanted data"
data data data data #unwanted data.
what i want it to have any coments between "" and after # to be erased using awk or/and sed.
has anyone an idea?
thanks. (3 Replies)
Discussion started by: Darsh
3 Replies
2. Shell Programming and Scripting
I want to delete corrupt records from a file through awk or sed.
Can anyone help me with this
Thanks
Striker
Change subject to a descriptive one, ty. (1 Reply)
Discussion started by: Rahul_us
1 Replies
3. Shell Programming and Scripting
Hello
I want to convert my cron list into a csv
Can you please help me with sed ?
eg:
Convert
#06,21,36,51 * * 1,2 * (. ~/.profile ; timex /some/path/script -30 -15) >> /some/path/logfile2 2>&1
* * * * * (. ~/.profile ; timex /some/path/script2) > /some/path/logfile2
To:... (1 Reply)
Discussion started by: drbiloukos
1 Replies
4. Shell Programming and Scripting
All,
Can somebody provide me with some sed expertise on how to parse the
following line.
27-MAR-2011 10:28:01 * (CONNECT_DATA=(SID=dmart)(CID=(PROGRAM=sqlplus)(HOST=mtasnprod1)(USER=mtasnord))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.197.7.47)(PORT=54881)) * establish * dmart * 0
I would like... (3 Replies)
Discussion started by: BeefStu
3 Replies
5. Shell Programming and Scripting
What is the shortest & right way to remove the string "" with a sed statement ?
echo 'whateverwhatever' | sed ........
? :) (2 Replies)
Discussion started by: ctsgnb
2 Replies
6. Shell Programming and Scripting
I'm new to shell programming, but I think I learn best by following an example. I'm trying to cook up an awk/sed script, but I obviously lack the required syntax skills to achieve it. The output that I get from running my ksh script looks like this:
I need to search each numbered line for... (10 Replies)
Discussion started by: iskatel
10 Replies
7. Shell Programming and Scripting
Hello guys,
I guess you are fed up with sed command and parse questions, but after a while researching the forum, I could not get an answer to my doubt. I know it must be easy done with sed command, but unfortunately, I never get right syntax of this command
OK, this is what I have in my... (3 Replies)
Discussion started by: manolain
3 Replies
8. UNIX for Dummies Questions & Answers
I would like to parse two strings from lines in a file only when both strings appear on the same line. For example, if I have the following line:
string1 string2 string3 string4 string5 string6 string7 string8 string9
I would like the output to be:
string2: string7
Can someone give me... (5 Replies)
Discussion started by: ARBlue79
5 Replies
9. Answers to Frequently Asked Questions
Regularly we have questions like: i have an XML (C, C++, ...) file with this or that property and i want to extract the content of this or that tag (function, ...). How do i do it in sed?
Yes, in some (very limited) cases this is possible, but in general this can't be done. That is: you can do... (0 Replies)
Discussion started by: bakunin
0 Replies
10. Shell Programming and Scripting
sorry I messed up the last post with too many mistakes and corrections so I closed it and opening a new one which should be clear to everyone .my apologies to the admins.
I am using sun solaris and Linux , what I want is SED to print any string (or output it to a file preferably) that does... (2 Replies)
Discussion started by: boncuk
2 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)