jak vytisknout znak nabídky v awk

Mám soubor str.txt s následujícími ukázkovými záznamy.

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

Nyní chci tisknout výstup s awk, jak je uvedeno níže.

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

Výstup by měl být :

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

Odpověď

jedna nabídka by byla \x27

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

Komentáře

Odpověď

POSIXně:

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

Odpověď

Trochu odlišný přístup pro POSIX Awk:

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

Odpověď

Můžete použít příkaz awk takto:

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

Získat následující výstup:

11-Aug-15 11-Aug-15 

Pokud na začátku a na konci řádků vyžadují jednoduché uvozovky:

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

Získání následujícího výstupu:

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

Komentáře

  • Žádný singl jsou vytištěny uvozovky, které určuje otázka …
  • @jasonwryan: Zkontrolujte odpověď aktualizovanou podle požadavku.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *