Einmaliges Zitat entkommen
Folgende funktioniert wie erwartet. Ich will ersetzen Sie das Wort "ich" mit \'
echo "test ' this" | sed 's/'"'"'/me/g'
test me this
Erwartete Ergebnis:
test \' this
Ist es möglich, zu entkommen doppelte Anführungszeichen als auch im gleichen Befehl?
InformationsquelleAutor der Frage shantanuo | 2011-11-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Frage ist ein wenig verwirrend, da es keine
me
im original-string zu ersetzen. Allerdings denke ich, dass ich es habe. Lassen Sie mich paraphrasieren:Wenn das der Fall ist (Sie nur wollen, zu entkommen, single quotes), die Sie verwenden können:
Durch die Verwendung von doppelten Anführungszeichen um den
sed
Befehl, entfernen Sie die Notwendigkeit, sorgen über embedded single-quotes. Sie tun haben, dann kümmern die Flucht, da die shell absorbieren in einer Ebene Fluchten, so dasssed
sehen:dem konvertieren
'
in\'
wie gewünscht.Wenn Sie wollen, einen Weg zu entkommen die beiden einzigen und Anführungszeichen mit einem einzigen
sed
es wahrscheinlich am einfachsten, um mehrere Befehle zused
so können Sie die Verwendung des alternativen Zitate:Wenn ich falsch verstanden habe, Ihre Anforderungen, ein paar Beispiele, die helfen könnten.
InformationsquelleAutor der Antwort paxdiablo
Habe ich einige Zweifel über Ihre Frage, aber trotzdem vielleicht meine Lösung ist für jeden nützlich.
Lasst mich sagen, bevor alle :
\\ das ist, dass man \, weil, wenn Sie zwei zusammen sind Sie stornieren Ihre Bedeutung als Metazeichen. Und \x27 als einziges Zitat, zumindest für mich einfacher ist als das arbeiten mit Einzel-Doppel ...
Schließlich legte ich
so, hier haben Sie mich getestet ==> test \ " diese
und hier ist das Gegenteil.
InformationsquelleAutor der Antwort ackuser
Ist es das, was du meinst?:
Oder so:
Ich finde es am besten immer single quote sed/awk/perl... Befehle in der Befehlszeile ein und machen "Löcher" für die Doppel-quote-Parameter verwendet werden.
InformationsquelleAutor der Antwort potong