Re: sed/zsh/Variablen
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
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
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