come stampare le virgolette in awk

Ho un file str.txt con i seguenti record di esempio.

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

Ora voglio stampare loutput con awk come di seguito.

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

Loutput dovrebbe essere :

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

Risposta

una singola citazione sarebbe \x27

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

Commenti

Risposta

POSIXly:

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

Risposta

Un approccio leggermente diverso, per POSIX Awk:

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

Risposta

Puoi utilizzare il comando awk in questo modo:

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

Per ottenere il seguente output:

11-Aug-15 11-Aug-15 

Se le virgolette singole richiedono allinizio e alla fine delle righe, allora:

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

Per ottenere il seguente output:

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

Commenti

  • Nessun singolo vengono stampate le virgolette, che la domanda specifica …
  • @jasonwryan: controlla la risposta aggiornata come da requisito.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *