Tengo un archivo str.txt
con los siguientes registros de muestra.
31,2713810299,1,11-Aug-15 19:52:10 32,2713810833,1,11-Aug-15 21:36:18
Ahora quiero imprimir la salida con awk como se muestra a continuación.
cat str.txt|awk -F, "{print substr("$4",1,9)}" -
La salida debe ser :
"11-Aug-15" "11-Aug-15"
Respuesta
una comilla simple sería \x27
awk -F, "{print "\x27"substr($4,1,9)"\x27" }"
Comentarios
- Utilice octal
\047
para'
, no hexadecimal\x27
. Consulte awk.freeshell.org/PrintASingleQuote . - \ x22 para las comillas dobles (en caso de que las necesite)
Responder
POSIXly:
awk -F"[ ,]" -v q=""" "{print q$4q}" <file
Respuesta
Un enfoque ligeramente diferente, para POSIX Awk:
awk -F"[, ]" "{printf "\047%s\047\n", $4}" file "11-Aug-15" "11-Aug-15"
Respuesta
Podría usar awk
comando como este:
cat str.txt|awk -F, "{print substr($4,1,9)}" -
Para obtener el siguiente resultado:
11-Aug-15 11-Aug-15
Si se requieren comillas simples al principio y al final de las líneas, entonces:
cat str.txt|awk -F, "{printf "\047%s\047\n",substr($4,1,9)}" -
Para obtener el siguiente resultado:
"11-Aug-15" "11-Aug-15"
Comentarios
- No solo las citas están impresas, que la pregunta especifica …
- @jasonwryan: marque la respuesta actualizada según el requisito.