Sponsored Content
Full Discussion: Sed bug in OS X?
Top Forums UNIX for Dummies Questions & Answers Sed bug in OS X? Post 36523 by ktoz on Friday 30th of May 2003 11:12:47 AM
Old 05-30-2003
Sed bug in OS X?

The actual line I'm using was more complex so I "simplified" it to the line in my original post:)

Actually what I'm doing is scanning jpeg files that have info entered in the Photoshop "file info" dialog box and extracting this info for inclusion in a database. The info I'm interested in is xml formatted with some Adobe namespace info.

This line works great for extracting the info:

egrep -a '<photoshop:([^>]+)>[^<]*</photoshop:\1>' "botanical-garden12-full.jpg"

yeilds lines like:

<photoshop:CaptionWriter>this is where the caption writer goes</photoshop:CaptionWriter>
<photoshop:Headline>this is where the headline goes</photoshop:Headline>
<photoshop:Instructions>this is where the instructions go</photoshop:Instructions>


If you then pipe it to sed to try and strip out the xml like so:

<egrep stuff from above...> | sed 's/<photoshop:\([^>]+\)>\([^<]*\)<\/photoshop:\1>/\1: \2>/g'

returns results as if the sed routine wasn't even there...

<photoshop:CaptionWriter>this is where the caption writer goes</photoshop:CaptionWriter>
<photoshop:Headline>this is where the headline goes</photoshop:Headline>
<photoshop:Instructions>this is where the instructions go</photoshop:Instructions>

I've tried various quotation, delimiter and escape styles on the above ("" as opposed to '', () as opposed to \(\) and s@@@ as opposed to s/// none of it produced the desired results.

I changed the search portion of the sed routine to a simple character class for testing and even that failed. The only thing that seems to work is a string literal.

Do you see any glaring errors in the above?

Thanks

Ken
 

7 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

SED.EXE Bug?

Hi all, when using sed to replace a piece of text multiple times in a file something weird happens.If there is no carriage return after the last line in the file it deletes the line. Anyone know why ? Thanks Paul command line : sed -e "s/System.out.println/\/\/Commented out by us... (6 Replies)
Discussion started by: madcyril
6 Replies

2. UNIX for Advanced & Expert Users

logrotate bug?

I have been mailing myself logs for a while, but just ran into a problem because of a process that cannot HUP its log. (I realize thats why they implemented the "copytruncate" option in the first place) When I use logrotate with "copytruncate" and "compress" there is a problem. The "myScript"... (0 Replies)
Discussion started by: jjinno
0 Replies

3. Shell Programming and Scripting

Is it a bug ..?

Hi All, I am using Red Hat Linux on my servers. The problem that I am facing is, sometimes the /opt usage on the server shows used percentage as 100% , when actually it is simply 20%. When I reboot the system, it comes back to 20%.Is this a bug in the system or my settings have gone wrong... (1 Reply)
Discussion started by: nua7
1 Replies

4. AIX

bug in 43 ???

xxxxserver# lsattr -El inet0 | grep 255.240.0.0,32.224.0.0,32.78.120.254 | grep '.40' route net,-hopcount,1,-netmask,255.240.0.0,32.224.0.0,32.78.120.254 How this is possible? (1 Reply)
Discussion started by: itik
1 Replies

5. UNIX for Dummies Questions & Answers

where's the bug?

#!/bin/bash if then #echo "infinite loop" exit 0 fi when I run this file I get the following error: ./test_infinite_loop: line 5: syntax error near unexpected token `fi' ./test_infinite_loop: line 5: `fi' :confused: (4 Replies)
Discussion started by: jon80
4 Replies

6. Programming

is this a bug of g++?

Hello, Im using the g++(g++ Ubuntu/Linaro 4.4.4-14ubuntu5 4.4.5) and im trying to compile a small snippet code and got into an endless loop.I recompiled that in VS2010 under Windows 7 and the answer is as expected.so i wonder is this a bug of g++?here is my code. #include<iostream> using... (5 Replies)
Discussion started by: homeboy
5 Replies

7. Programming

Help in memcmp (it may be a bug)

Hello friends today i have created a program that is working fine . but when string becomes equal it does not work . /* String.h header series Comparison function memcmp = return 0 if string equal else return less or greater than value by comparing pointer first and pointer second ... (6 Replies)
Discussion started by: rink
6 Replies
getusershell(3C)					   Standard C Library Functions 					  getusershell(3C)

NAME
getusershell, setusershell, endusershell - get legal user shells SYNOPSIS
#include <unistd.h> char *getusershell(void); void setusershell(void); void endusershell(void); DESCRIPTION
The getusershell() function returns a pointer to a legal user shell as defined by the system manager in the file /etc/shells. If /etc/shells does not exist, the following locations of the standard system shells are used in its place: /bin/bash /bin/csh /bin/jsh /bin/ksh /bin/ksh93 /bin/pfcsh /bin/pfksh /bin/pfsh /bin/sh /bin/tcsh /bin/zsh /sbin/jsh /sbin/pfsh /sbin/sh /usr/bin/bash /usr/bin/csh /usr/bin/jsh /usr/bin/ksh /usr/bin/ksh93 /usr/bin/pfcsh /usr/bin/pfksh /usr/bin/pfsh /usr/bin/sh /usr/bin/tcsh /usr/bin/zsh /usr/sfw/bin/zsh /usr/xpg4/bin/sh The getusershell() function opens the file /etc/shells, if it exists, and returns the next entry in the list of shells. The setusershell() function rewinds the file or the list. The endusershell() function closes the file, frees any memory used by getusershell() and setusershell(), and rewinds the file /etc/shells. RETURN VALUES
The getusershell() function returns a null pointer on EOF. BUGS
All information is contained in memory that may be freed with a call to endusershell(), so it must be copied if it is to be saved. NOTES
Restricted shells should not be listed in /etc/shells. SunOS 5.11 1 Nov 2007 getusershell(3C)
All times are GMT -4. The time now is 04:28 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy