hvordan du skriver ut sitattegn i awk

Jeg har en fil str.txt med følgende eksempler på poster.

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

Nå vil jeg skrive ut output med awk som nedenfor.

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

Utgangen skal være :

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

Svar

et enkelt tilbud vil være \x27

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

Kommentarer

Svar

POSIXly:

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

Svar

En litt annen tilnærming, for POSIX Awk:

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

Svar

Du kan bruke awk kommando slik:

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

For å få følgende utdata:

11-Aug-15 11-Aug-15 

Hvis enkelt anførselstegn krever i begynnelsen og slutten av linjene, så:

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

For å få følgende utdata:

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

Kommentarer

  • Ingen enkelt sitater skrives ut, som spørsmålet spesifiserer …
  • @jasonwryan: Sjekk svaret oppdatert etter krav.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *