unix line endings versus windows line endings

0

O abaixo é a verificação dos finais de linha. Apenas curioso, qual é o I ? Eu sei que o M causa problemas. Obrigado:).

cmccabe@DTV-A5211QLM:~/Desktop/bed$ head -10 xgen_targets_unix.bed | cat -et
chr1^I955543^I955763^IAGRN-6|pr=2|gc=75^I0^I+$
chr1^I957571^I957852^IAGRN-7|pr=3|gc=61.2^I0^I+$

comparado aos finais de linha do Windows

cmccabe@DTV-A5211QLM:~/Desktop/bed$ head -10 xgen_targets.bed | cat -et
chr1^I955543^I955763^IAGRN-6|pr=2|gc=75^I0^I+^M$
chr1^I957571^I957852^IAGRN-7|pr=3|gc=61.2^I0^I+^M$
    
por cm0728 07.11.2015 / 19:09

1 resposta

1

^ M é char (13) aka \ r e ^ J é char (10), também conhecido como \ n.

Você tende a não ver ^ J listado como ^ J embora. Para \ r \ n é ^ M ^ J Alguns editores podem permitir que você digite ^ M e / ou ^ J com controle.

E dada a tabela ascii, e que i é a 9ª carta, sem dúvida ^ eu sou char (9) - tab

Você pode ver os personagens claramente com xxd -p, mas vamos tentar o seu comando também cat -et

Nós vemos que quando o cat -et mostra $, isso significa que \ n So ^ M $ é \ r \ n

C:\>echo abc>a.a

C:\>cat a.a | xxd -p
6162630d0a

C:\>cat a.a -et
abc^M$

C:\>dos2unix a.a
Dos2Unix: Processing file a.a ...

C:\>cat a.a -et
abc$

C:\>
    
por 07.11.2015 / 19:50

Tags