Drucken von Anführungszeichen in awk

Ich habe eine Datei str.txt mit den folgenden Beispieldatensätzen.

31,2713810299,1,11-Aug-15 19:52:10 32,2713810833,1,11-Aug-15 21:36:18 

Jetzt möchte ich die Ausgabe mit awk wie folgt drucken.

cat str.txt|awk -F, "{print substr("$4",1,9)}" - 

Die Ausgabe sollte sein :

"11-Aug-15" "11-Aug-15" 

Antwort

Ein einfaches Anführungszeichen wäre \x27

awk -F, "{print "\x27"substr($4,1,9)"\x27" }" 

Kommentare

Antwort

POSIXly:

awk -F"[ ,]" -v q=""" "{print q$4q}" <file 

Antwort

Ein etwas anderer Ansatz für POSIX Awk:

awk -F"[, ]" "{printf "\047%s\047\n", $4}" file "11-Aug-15" "11-Aug-15" 

Antwort

Sie können den Befehl awk folgendermaßen verwenden:

cat str.txt|awk -F, "{print substr($4,1,9)}" - 

Um folgende Ausgabe zu erhalten:

11-Aug-15 11-Aug-15 

Wenn am Anfang und am Ende von Zeilen einfache Anführungszeichen erforderlich sind, gilt Folgendes:

cat str.txt|awk -F, "{printf "\047%s\047\n",substr($4,1,9)}" - 

So erhalten Sie folgende Ausgabe:

"11-Aug-15" "11-Aug-15" 

Kommentare

  • Keine einzelne Es werden Zitate gedruckt, die in der Frage angegeben sind …
  • @jasonwryan: Bitte überprüfen Sie die Antwort entsprechend den Anforderungen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.