AWK comportamento de saída estranho ao adicionar coluna extra

0

Eu tenho um arquivo.csv que contém:

ID,FN,LN,NUM
576,Pra,Mar,3
688,India,Desa,3
645,Ami,Path,5
245,Me,Yo,4

Eu quero que a saída seja

ID,FN,LN,NUM,R
576,Pra,Mar,3,R
688,India,Desa,3,R
645,Ami,Path,5,R
245,Me,Yo,4,R

O que eu fiz?

    
por Lee 31.03.2016 / 00:48

1 resposta

3

Se o seu arquivo de entrada tiver terminações de retorno de carro / alimentação de linha, ele fará isso.

Aqui está o que parece no vi (você pode precisar de modo de lista para maior clareza):

Wed Mar 30 18:53:01 EDT 2016
ID,FN,LN,NUM^M
576,Pra,Mar,3^M
688,India,Desa,3^M
645,Ami,Path,5^M
245,Me,Yo,4^M
Wed Mar 30 18:53:01 EDT 2016
ID,FN,LN,NUM^M,R
576,Pra,Mar,3^M,R
688,India,Desa,3^M,R
645,Ami,Path,5^M,R
245,Me,Yo,4^M,R

No segundo exemplo, os caracteres ^M precedem o ", R", tornando essa impressão no início da linha.

Se você visualizar isso em vim em vez de vi , verá algo semelhante.

Você pode converter finais de linha de maneiras diferentes:

  • em vim , se você digitar controle G , você notará um "[dos]" na linha de status, e então por digitando ": set" (enter) veja "dos" na saída. Você pode converter por
    :set ff=unix
    :w!
  • na linha de comando, você pode ter dos2unix (que também funciona).

Leitura adicional:

por 31.03.2016 / 00:54

Tags