Почему команда " wc " говорит, что у меня есть только одна строка в файле, в то время как на самом деле их действительно две?


Почему команда " wc " говорит, что у меня есть только одна строка в файле, в то время как на самом деле их действительно две?

03.10.2016 02:27:29 Просмотров 73 Источник

Взгляните на этот пример пожалуйста:

$ cat < demo
man
car$ 
$ 
$ od -x < demo 
0000000 616d 0a6e 6163 0072
0000007
$ 
$ wc < demo 
1 2 7

Как вы можете видеть, у меня там есть 3 символа ( man: 6d 61 6e), за которыми следует новая строка ( \n: 0a), а затем еще три ( car: 63 61 75), заканчивающиеся нулевым символом (00). Ясно, что в этом файле есть две строки, но команда wc сообщает, что файл получил только одну. Что это дает? Или вы думаете, что для того, чтобы квалифицироваться как строка в Unix, вы должны быть завершены символом новой строки? Нуль не считается?

У вопроса есть решение - Посмотреть?

Ответы - Почему команда " wc " говорит, что у меня есть только одна строка в файле, в то время как на самом деле их действительно две? / Why is the "wc" command saying that I've got only one line in a file while in fact there are really two?

Является ответом!
Arkadiusz Drabczyk

03.10.2016 02:36:32

Или вы думаете, что для того, чтобы квалифицироваться как строка в Unix, вы должны быть заканчивается символом новой строки?

На самом деле, да-даже POSIXговорит, что:

Утилита wc считывает один или несколько входных файлов и по умолчанию, запишите количество новых строк , слов и байтов, содержащихся в каждой строке. входной файл к стандартному выходу.

user172283

05.02.2020 12:27:26

лучше использовать awk '{ print }' demo| wc -l

https://stackoverflow.com/questions/39830504/why-is-the-wc-command-saying-that-ive-got-only-one-line-in-a-file-while-in-fa/60072683#comment106246226_60072683
Это не дает ответа на вопрос. Как только у вас будет достаточная репутация , вы сможете комментировать любой пост ; вместо этого, предоставьте ответы, которые не требуют разъяснений от спрашивающего . - Из Обзора
Помочь в развитии проекта:
Закрыть X