Sed parsing error


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Sed parsing error
# 1  
Old 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?
# 2  
Old 12-31-2008
Hi.

The count appears to be too large for some versions of sed.

I created a file containing a line of 1002 characters. Using sed, I added an "A" after 944 characters and it worked without error with GNU sed on Linux.

On Solaris, the same command:
Code:
sed -e 's/\(.\{944\}\)/\1A/'

produced:
Code:
sed: command garbled: s/\(.\{944\}\)/\1A/

I used:
Code:
sed -e 's/\(.\{4\}\)/\1A/' $FILE

and it worked correctly. Also at 44, 244, but failed at 344. It works at 255, and fails at 256. (Those powers of 2 will get you every time Smilie )

The version I have on SunOS 10.5 is:
Code:
sed - ( /usr/xpg4/bin/sed Aug 9 2005 )

Perhaps an awk script might work ... cheers, drl
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Parsing via sed issue

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

2. Answers to Frequently Asked Questions

Why Parsing Can't be Done With sed ( or similar tools)

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

3. UNIX for Dummies Questions & Answers

sed or Grep Parsing

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

4. Shell Programming and Scripting

[SED] Parsing to get a single value

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

5. Shell Programming and Scripting

awk/sed line parsing

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

6. Shell Programming and Scripting

Sed special parsing

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

7. Shell Programming and Scripting

sed (parsing value)

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

8. Shell Programming and Scripting

Parsing cron with sed

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

9. Shell Programming and Scripting

Parsing with awk or sed

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

10. Shell Programming and Scripting

awk sed parsing

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
Login or Register to Ask a Question