From: LOEWENTHAL Simon (sloewenthal@gemini.edu)
Date: Tue May 31 2005 - 11:14:57 EDT
Dear all Sed madmen,
I'm trying to write something that sets the encrypted field in the
shadow file to *LK*, but sed will choke whenever the field has a / in
it, so I wrote something to nest sed inside sed with cut so that it
replaces instances of / with /\
However, sed chokes when interpreting the |. I have tried putting ' and
` in all the places I can think of, but it usually makes it worse.
Cut the encrypted password out and then get gsed to replace the / with
\, which work fine.
Cat shadow.t
GogunE:ndY3rmE/bkxt.:12180::::::
echo `cut -d: -f2 shadow.t`|gsed -s 's/\//\\\//g'
What it correctly produces,
ndY3rmE\/bkxt.
Finally I use gsed to replace the earlier output with *LK*.
gsed -e 's/'`echo `cut -d: -f2 shadow.t`|gsed -s
's/\//\\\//g'`'/\*LK\*/' <shadow.t
Then it chokes,
./test: syntax error at line 1: `|' unexpected
Regards, S.
PS. I'm sorry that this is not Sun specific, but I think that there are
plenty of sed users in the audience, but I've been at this for the past
5 hours and am starting to doubt my sanity.
-- ISG/Gemini/AURA _______________________________________________ sunmanagers mailing list sunmanagers@sunmanagers.org http://www.sunmanagers.org/mailman/listinfo/sunmanagers
This archive was generated by hypermail 2.1.7 : Wed Apr 09 2008 - 23:30:47 EDT