como imprimir caracteres de citação no awk

3

Eu tenho um arquivo str.txt com os seguintes registros de amostra.

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

Agora quero imprimir a saída com o awk, conforme abaixo.

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

A saída deve ser:

'11-Aug-15' 
'11-Aug-15' 
    
por user3548033 12.08.2015 / 11:31

4 respostas

7

uma única citação seria \x27

awk -F, '{print "\x27"substr($4,1,9)"\x27" }'
    
por 12.08.2015 / 11:41
0

Uma abordagem ligeiramente diferente, para o POSIX Awk:

awk -F'[, ]' '{printf "7%s7\n", $4}' file
'11-Aug-15'
'11-Aug-15'
    
por 16.10.2015 / 03:58
0

Você pode usar o comando awk da seguinte forma:

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

Para obter o seguinte resultado:

11-Aug-15
11-Aug-15

Se aspas simples exigirem no início e no final das linhas, então:

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

Para obter o seguinte resultado:

'11-Aug-15'
'11-Aug-15'
    
por 12.08.2015 / 11:42
0

POSIXly:

awk -F'[ ,]' -v q="'" '{print q$4q}' <file
    
por 16.10.2015 / 04:02