Ich versuche, einfache und doppelte Anführungszeichen aus einer Datei zu entfernen. Kann ich es in einem einzigen sed Befehl tun?
Ich versuche es:
%Vor%, aber erhalte diesen Fehler
'' 'ist nicht übereinstimmend.
Bitte helfen Sie.
Nun, hier ist, worauf ich gekommen bin.
Zunächst habe ich mit ord () herausgefunden, was Codes für einfache und doppelte Anführungszeichen sind, und dann die $ (..) -Syntax verwendet, um sie in einen nicht angegebenen sed-Ausdruck zu übergeben. Ich habe XX und yy anstelle von leeren Saiten verwendet. Offensichtlich ist es von optimal, d. H. Sie sollten vielleicht zu einem Ausdruck kombiniert werden, ich ermutige Sie, damit zu experimentieren. Es gibt mehrere Techniken, um Probleme zu vermeiden. Sie können den Ausdruck sed auch in eine separate Datei einfügen, um zu vermeiden, dass er von der Shell interpretiert wird. Der Trick ord () / chr () ist auch nützlich, wenn versucht wird, mit einzelnen unlesbaren Zeichen in der Ausgabe umzugehen, z. UTF-Zeichenfolgen auf Nicht-UTF-Konsole.
%Vor%BEARBEITEN (beachten Sie, dass diesmal beide Zeichen durch die gleiche Zeichenfolge "yy" ersetzt werden.) Es könnte einige Shell-Utilities geben, die Zeichen in Zeichencodes und umgekehrt übersetzen, dh es sollte möglich sein, dies ohne zu tun perl oder andere Sprache Dolmetscher.
%Vor%und hier ist noch ein anderer Weg in der Shell, vielleicht noch einfacher
%Vor% Ich löste es (in Centos 7
), indem ich die umgebenden Zitate alle zusammen lösche wie:
Tags und Links sed