lainausmerkin tulostaminen awk: ssä

Minulla on tiedosto str.txt, jolla on seuraavat esimerkkitietueet.

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

Haluan nyt tulostaa tulosteen awk: llä kuten alla.

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

Tuloksen tulisi olla :

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

vastaus

yksittäinen lainaus olisi \x27

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

kommentit

vastaus

POSIXly:

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

Vastaa

Hieman erilainen lähestymistapa POSIX Awk: lle:

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

Vastaa

Voit käyttää komentoa awk näin:

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

Seuraavan tuloksen saaminen:

11-Aug-15 11-Aug-15 

Jos yksittäiset lainausmerkit vaativat rivien alussa ja lopussa, tee näin:

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

Seuraavan tuloksen saaminen:

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

kommentit

  • Ei yksittäisiä lainausmerkit tulostetaan, ja kysymys määrittelee ne.
  • @jasonwryan: Tarkista, että vastaus on päivitetty vaatimusten mukaisesti.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *