[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: sed oneliner gesucht



Am Freitag, 27. April 2007 19:47:08 schrieb Andre Timmermann:
> Am Freitag, den 27.04.2007, 19:15 +0200 schrieb Andre Timmermann:
> > > echo "user:1234:13573:0:99999:7:::" | sed -e \
> > >     's/^\(user:\)[^:]*:/\14321:/'
> >
> > Vielen Dank, ist genau das was ich brauche ;)
> > Wenn man es so liest ist es auch ganz logisch ;)
>
> Tja, und gleich schon das nächste Problem. In dem MD5-Passwort kommen
> "$", ".", "/" vor, so dass sed aus dem Tritt gerät.
>
> Ich habe folgendes probiert:
>
> PASS="$1$TfdsD.kU$fdsfdsfdsfd/xfdsW.Uds2"

--------------
 PASS="\$1\$TfdsD.kU\$fdsfdsfdsfd/xfdsW.Uds2"

macht die bash schon falsch
...................

>
> sed -i "s|^user:[^:]*:|user:${PASS}:|" passwortdatei
					keine $ im string da die bash schon  ersetzt hat
>
> Ergebnis:
> user:.kU/xfdsW.Uds2:13573:0:99999:7:::
>
> Leider hat er die "$1$TfdsD" und "$fdsfdsfdsfd" verschluckt, da er das
> als eigene Variablen erkannt hat, dafür konnte ich wenigstens das "/"
> retten ;)
>
> Wie kann man die Variable so schützen, dass sie zwar ausgegeben wird,
> aber ohne den Inhalt von sed auswerten zu lassen?
>
>
> --
> When blondes have more fun, do they know it?




Reply to: