web-dev-qa-db-fra.com

Comment imprimer le caractère de citation dans awk

J'ai un fichier str.txt avec les enregistrements d'échantillonnage suivants.

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

Maintenant, je veux imprimer une sortie avec AWK comme ci-dessous.

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

La sortie devrait être:

'11-Aug-15' 
'11-Aug-15' 
5
user3548033

une seule citation serait \x27

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

Une approche légèrement différente, pour Posix Awk:

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

Vous pouvez utiliser awk commande comme ceci:

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

Pour obtenir la sortie suivante:

11-Aug-15
11-Aug-15

Si des guillemets simples nécessitent au début et à la fin des lignes, alors:

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

Pour obtenir la sortie suivante:

'11-Aug-15'
'11-Aug-15'
0
snoop