gawk seperator de campo como ascii estendido

1

Estou usando o gawk 3.1.7 no RHEL 6.x

Eu tenho arquivos CSV grandes para analisar com separador de campo "Logical negation symbol / ALT + 170" ( Ver tabela ASCII ), mas não consegui usá-lo como separador de campo em gawk .

Eu tentei muitas coisas como -F "\xaa" , -F "2" , mas não funcionou. Existe alguma maneira de usar esse personagem no separador de campo de Gawk?

BTW Eu criei um arquivo com esse caractere (existe apenas um caractere no arquivo) e se eu usá-lo da seguinte maneira ele está funcionando.

-F "$(cat singleExtendedAsciiCharFile)"

No entanto, acho que não é seguro (alguém pode excluir esse arquivo). Você tem alguma ideia para o meu problema?

    
por Murat 03.11.2017 / 17:51

2 respostas

1

Primeiro, encontre o código hexadecimal do caractere:

$ echo -n '¬' | od -An -tx1
 c2 ac

Em seguida, coloque antes \x antes de cada grupo de números:

$ awk -F '\xc2\xac'
    
por 03.11.2017 / 18:50
0

Crie o personagem com o shell:

awk -F $'\xaa'
    
por 03.11.2017 / 18:03

Tags