[prev in list] [next in list] [prev in thread] [next in thread]
List: sun-managers
Subject: Problem with sed - It misinterprets | (pipe).
From: LOEWENTHAL Simon <sloewenthal () gemini ! edu>
Date: 2005-05-31 15:14:57
Message-ID: 429C7F71.6010300 () gemini ! edu
[Download RAW message or body]
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
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic