Почему мой отсортированный файл больше?

Пожалуйста, смотрите здесь: https://bbs.archlinux.org/viewtopic.php?id=117936

1
задан 10 July 2016 в 17:20

1 ответ

hexdump показывает это!

$ hexdump -cn 32 file.txt 
0000000   a   d   h   d  \n   a   d   s   l  \n   a   m   v   b  \n   a
0000010   o   v  \n   a   o   w  \n   a   r   o   b  \n   a   s   f   a
0000020

$ hexdump -cn 32 my-sorted.txt 
0000000   a  \n   a   a  \n   a   a   a  \n   a   a   d  \n   a   a   d
0000010   s  \n   a   a   f   j   e  \n   a   a   f   j   e   s  \n   a
0000020 

$ hexdump -cn 32 sorted-file.txt 
0000000   a  \r  \n   a   a  \r  \n   a   a   a  \r  \n   a   a   d  \r
0000010  \n   a   a   d   s  \r  \n   a   a   f   j   e  \r  \n   a   a
0000020   

Ваш отсортированный файл больше, потому что он использует конечные строки Windows \r\n (два байта) вместо окончаний строки Linux \n (один байт).

Возможно, вы выполнили эту команду выше под Windows, используя такие инструменты, как cygwin или эту новую подсистему Linux для Windows 10? Или вы могли что-то запустить в Вине?

25
ответ дан 23 May 2018 в 08:19
  • 1
    эта новая подсистема Windows для Linux ? bash - это только одна программа Linux, которая работает в ней; sort не bash. – immibis 11 July 2016 в 05:36
  • 2
    @immibis Вы имеете в виду подсистему Linux для Windows ? Я имел в виду это, но еще не слишком интересовался этим, поэтому не пытался и не исследовал его до сих пор. – Byte Commander 11 July 2016 в 08:32
  • 3
    На самом деле это называется подсистемой Windows для Linux , но каждый имеет смысл. (Посмотрите, как это будет выглядеть с другой подсистемой: «Подсистема Windows для консоли [Приложения]» или «Консоль [Приложение] Подсистема для Windows» имеет смысл) – immibis 11 July 2016 в 08:46
  • 4
    @immibis Ага, ладно. Вы видите, что меня не слишком интересовала эта конкретная тема. Прости меня, Пожалуйста :) – Byte Commander 11 July 2016 в 08:49

Другие вопросы по тегам:

Похожие вопросы: