Re: sed/zsh/Variablen

2003-06-20 Diskussionsfäden Peter Palmreuther
Hi Kai,

On Wed, 18 Jun 2003 21:43:47 +0200 Kai Wilke wrote:

 kann mir einer sagen warum dieser Befehl nicht mehr klappt?
 
 sed -e s/PAKET_MANAGE.*/PAKET_MANAGE=tar/
 ; s/KWTOOLS.*/KWTOOLS_PATH=$EXEC_PATH/
 ; s/HELP.*/HELP_PATH=${SHARE_PATH}\/help/ ${ETC_PATH}/main.cf 
 /tmp/main.cf$$
 alles in einer Zeile
 
 Fehler: sed: -e expression #1, char 64: Unknown option to 's'
 Wenn ich die Apostrophe am Anfang und Ende mit Anführungsstriche
 tausche funzt es zwar, aber die Variablen werden nicht ausgewertet.

Was gibt denn 

echo $EXEC_PATH

aus? Zeichen 64, wie in der Fehlermeldung bemängelt, kommt aller
Wahrscheinlichkeit nach aus der Evaluation dieser Variablen und ich
könnte fast wetten, dass ein '/' drin vorkommt.

Schau dir den Inhalt aller Variablen an und finde ein Trennzeichen statt
'/', welches in keiner Variable vorkommt. Ein häufig möglicher Kandidat
ist '#', also:

sed -e s#PAKET_MANAGE.*#PAKET_MANAGE=tar#; s#KWTOOLS.*#.
-- 
Ciao,
 Pit


--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: sed/zsh/Variablen

2003-06-20 Diskussionsfäden Michael Ebner
Hallo Kai,

am Mittwoch, 18. Juni 2003 um 21:43 schrieben Sie:

KW kann mir einer sagen warum dieser Befehl nicht mehr klappt?

KW sed -e s/PAKET_MANAGE.*/PAKET_MANAGE=tar/
KW ; s/KWTOOLS.*/KWTOOLS_PATH=$EXEC_PATH/
KW ; s/HELP.*/HELP_PATH=${SHARE_PATH}\/help/ ${ETC_PATH}/main.cf 
KW /tmp/main.cf$$
KW alles in einer Zeile

Ich denke Du musst statt dem ; ein -e einsetzen.

So schaut es bei mir aus:

# echo $SHARE_PATH $EXEC_PATH
y/y /

# die Datei main.cf
PAKET_MANAGE.=x
KWTOOLS_PATH=asasdasdasdasd
HELP_PATH=sdasd/asdada

# sed -e s#PAKET_MANAGE.*#PAKET_MANAGE=tar#  \
  -e s#KWTOOLS.*#KWTOOLS_PATH=${EXEC_PATH}# \
  -e s#HELP.*#HELP_PATH=${SHARE_PATH}/help#  main.cf

Ergebnis:
PAKET_MANAGE=tar
KWTOOLS_PATH=/
HELP_PATH=y/y/help

Da Du auch Schraegstriche tauschst solltest du ein anderes
Trennzeichen als den / Schraegstrich verwenden. Du kannst jedes
Zeichen nehmen das nicht getauscht werden soll. Das ist einfacher als
die Maskiererei mit dem Backslash.

Ich hoffe das hilft Dir weiter.

-- 
CU

Michael
mailto:[EMAIL PROTECTED]

-
100 MB Free Anonymous Email
Web / POP3 / SMTP Access
http://www.fastrun.at/hde


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: sed/zsh/Variablen

2003-06-20 Diskussionsfäden Kai Wilke
High, high ...
* Michael Ebner [EMAIL PROTECTED] schrieb am [20.06.03 14:53]:
 Hallo Kai,
 
 am Mittwoch, 18. Juni 2003 um 21:43 schrieben Sie:
 
 KW kann mir einer sagen warum dieser Befehl nicht mehr klappt?
 
 KW sed -e s/PAKET_MANAGE.*/PAKET_MANAGE=tar/
 KW ; s/KWTOOLS.*/KWTOOLS_PATH=$EXEC_PATH/
 KW ; s/HELP.*/HELP_PATH=${SHARE_PATH}\/help/ ${ETC_PATH}/main.cf 
 KW /tmp/main.cf$$
 KW alles in einer Zeile
 
 Ich denke Du musst statt dem ; ein -e einsetzen.
 
 
 
 # sed -e s#PAKET_MANAGE.*#PAKET_MANAGE=tar#  \
   -e s#KWTOOLS.*#KWTOOLS_PATH=${EXEC_PATH}# \
   -e s#HELP.*#HELP_PATH=${SHARE_PATH}/help#  main.cf
 
Danke, so haut es auch hin. An den / in den Var. hatte ich gar nicht
mehr gedacht.

Kiste
-- 
###
Netzworkk
Kai Wilke
[EMAIL PROTECTED]
http://www.netzworkk.de
http://netzworkk.berlios.de



pgp0.pgp
Description: PGP signature