wc -l не возвращает правильное значение

У меня есть .txt-файл с 10781 строками. Когда я запускаю wc -l в файле, я получаю возврат 10780.

Если я добавлю пустую строку в конец .txt, я получу правильный результат 10781. Может кто-нибудь объяснить, что именно wc -l считает?

One Solution collect form web for “wc -l не возвращает правильное значение”

Вероятно, ваша последняя строка не имеет новой строки.

Видеть это:

 $ printf bla > file $ wc -l file 0 file 

$ man 1p wc

-l Вывести на стандартный вывод количество строк в каждом входном файле.

В Unix хороший стиль для символа новой строки в конце текстовых файлов. Если вы не можете восстановить свои файлы, вы можете использовать эти обходные пути, чтобы всегда считать последнюю строку: https://stackoverflow.com/questions/28038633/wc-l-is-not-counting-last-of-the- файл-если-то-ли-не-есть-конец-строки-символа

Interesting Posts

Fedora не загружается при обновлении с 25 до 26

Как открыть debugfs в разделе в файле изображения?

QEMU больше не может загружать локально построенное kernel ​​Linux

wget не загружает файлы рекурсивно

Сколько свободного пространства будет освобождено, удалив субблок btrfs?

Безопасный просмотр зашифрованного файла

Получите количество файлов, которые соответствуют шаблону в каталоге, и удалите самый старый

Установка CentOS 7: проблемы с разделом и поврежденный пользовательский интерфейс

Невозможно изменить яркость после ожидания или выхода из системы

Простой пример wget Scientific Linux

Не устанавливайте общие папки NFS с помощью бродячего поставщика libvirt в Debian Jessie

Как получить список портов, которые бесплатны на сервере Unix

Как отобразить man-страницу с groff в / на msysgit?

Какая программа (ы) понижает мой уровень энтропийного пула?

извлекать часть строки, используя sed

Linux и Unix - лучшая ОС в мире.