Imprime o novo caractere de linha atual do awk

0

Como posso encontrar o novo caractere de linha no meu arquivo ao usar awk ?

Eu sei que o padrão é \n , mas é isso que o manual diz. Eu quero ver com meus próprios olhos.

Acabei de começar a aprender awk e como alterar o separador de registro de saída, mas primeiro quero ver qual é o ORS real. Os primeiros 7 capítulos do manual awk não abordaram isso.

    
por star 26.03.2015 / 13:40

2 respostas

1

Você não usaria o Awk para isso, mas sim od (octal dump)

Por exemplo, aqui está um arquivo de texto simples criado em um sistema linux com o vi:

lizard:~tmp$ cat foo
This is a sentence.

Aqui está a saída de od:

lizard:~tmp$ od -a foo
0000000   T   h   i   s  sp   i   s  sp   a  sp   s   e   n   t   e   n
0000020   c   e   .  nl  nl
0000025

Observe que este arquivo contém uma linha em branco abaixo da frase, pois há dois nl (Nova Linha = Alimentação de Linha = \ n). "sp" representa um caractere de espaço. Se eu despejar um arquivo semelhante criado em um sistema Windows, provavelmente ficaria assim:

lizard:~tmp$ od -a foo-dos
0000000   T   h   i   s  sp   i   s  sp   a  sp   s   e   n   t   e   n
0000020   c   e   .  cr  nl  cr  nl
0000027

Este é exatamente o mesmo arquivo, mas criado em um sistema Windows. Os arquivos do DOS / Windows são usados \ r \ n (Carriage Return Line Feed) para fins de linha de arquivo de texto.

    
por 26.03.2015 / 15:25
1

Você pode inspecioná-lo, por exemplo:

awk 'BEGIN { printf "%s", ORS }' | od -c
    
por 26.03.2015 / 19:48

Tags