ich die Zeichenfolge haben, wie folgt:, wie Räume mit Unterstrich und doublequotes mit nichts in bash ersetzen
$ echo "$val1"
"$29.95 Carryover Plan 1GB"
Jetzt kann ich diese Methode verwenden, um die Räume mit Unterstrichen
$ echo "NAME_"${val1// /_}"_NAME"
NAME_"$29.95_Carryover_Plan_1GB"_NAME
Und kann ersetzen das gleiche tun "
doppelte Anführungszeichen mit nichts zu ersetzen
$ echo "NAME_"${val1//'"'/}"_NAME"
NAME_$29.95 Carryover Plan 1GB_NAME
Jetzt kann ich sed das gleiche zu tun - die Räume mit Unterstrichen
$ echo "$val1" | sed s/" "/_/g
"$29.95_Carryover_Plan_1GB"
Und ich dann die doppelten Anführungszeichen, indem Sie diesen sed s/'"'/''/g
$ echo "$val1" | sed s/" "/_/g | sed s/'"'/''/g
$29.95_Carryover_Plan_1GB
Also das ist, was ich will (spaces repalaced mit Strich entfernen zu ersetzen und doppelte Anführungszeichen entfernt), aber kann ich es erreichen, indem ich meinen ersten Ansatz oben z
$ echo "NAME_"${val1// /_}"_NAME"
NAME_"$29.95_Carryover_Plan_1GB"_NAME
Dies ist mein Versuch
$ echo "NAME_"${${val1// /_//'"'/}}"_NAME"
-sh: "NAME_"${${val1// /_//'"'/}}"_NAME": bad substitution
edit1 ist dies die sed ich erreichen kann, aber ich möchte diese
durch mein erster Ansatz zu erreichen in der Lage sein$ echo "NAME_"$val1"_NAME" | sed s/" "/_/g | sed s/'"'/''/g
NAME_$29.95_Carryover_Plan_1GB_NAME
siehe [hier] (http://stackoverflow.com/a/38559775/2392358) 'a =" NAME _ $ {$ {val1 ///_} // "/" _ NAME "' kann in gemacht werden zsh – HattrickNZ