Archiv verlassen und diese Seite im Standarddesign anzeigen : awk und das Hochkomma
Hallo!
Wie kann ich mit awk nach dem Hochkomma (') suchen lassen?
Ich möchte in einer Textdatei den String 'ftp durch ftp ersetzen.
meine awk Zeile:
awk '{gsub("'ftp","ftp");print $0}' file1 > file2
So geht es natürlich nicht ... wie muss ich denn das Hochkomma deklarieren, damit er es annimmt?
Vielen Dank!
Joy
schonmal mit \' probiert, wenn das nicht geht vielleicht mit \\' oder mit \\\'
Hallo msi, danke für deine Hilfe.
Leider nützt weder ein noch mehrere \s was.
Wenn ich in der Textdatei mit KWrite z.b. alle 's durch ein " ersetzen lassen, dann funktioniert diese awk zeile:
awk '{gsub("\"","");print $0}' updates2.1 > updates3
Sie "escaped" das " dann korrekt, und ersetzt alle double-quotes durch einen String der Länge null. Nur geht das mit den single quotes nicht, da diese ja von awk selbst benutzt werden.
Gibt es noch eine andere Möglichkeit, das singlequote (Hochkomma) Zeichen darzustellen?
MfG,
Joy
Das Problem liegt nicht bei awk, sondern an den Quotingmechanismus deiner Shell.
awk '{gsub("'\\''ftp","ftp");print $0}' file1 > file2
sollte funktionieren. Der Trick Singlequote schliessen, einen gequoteten Singlequote eingeben, Singlequote start
Allerdings ist hier sed das bessere Tool:
sed s/\\'ftp/ftp/g file1 > file2
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.