Wie verwenden Sie shell-Skript-Variablen als Argumente an sed?

Was ich gerne tun würde, ist so etwas wie die folgenden:

#!/bin/sh
EMAIL="-e 's/SOMETHING//g'"

somecommand | sed "$EMAIL"

Aber ich bekomme die folgende:

sed: -e expression #1, char 2: unknown command: `''

Habe ich versucht, viele Variationen. Ich weiß, dass es nur eine Frage der string-quoting Recht. Der Grund, warum ich möchte, dies zu tun ist zu brechen, eine lange sed-Befehl für bessere Lesbarkeit. Sollte ich einfach ein sed-Skript-Datei (mit der option-f) statt?

UPDATE:

Meinem eigentlichen script ist etwas komplexer:

#!/bin/sh
EMAIL="-e s/SOME THING//g -e s/SOME THING ELSE//g ..."

somecommand | sed "$EMAIL"

Nach dem entfernen der einzelnen Zitate, die ich erhalten:

sed: -e expression #1, char 18: unknown option to `s'

InformationsquelleAutor Swoogan | 2009-07-24

Schreibe einen Kommentar