Я использую C для анализа большого плоского файла и вывода соответствующих строк в выходной файл.Выходной файл должен быть около 70000 строк.
Если я открою файл в gedit, он отобразится точно так, как ожидается, с правильным количеством строк и длиной строк.
Однако, выполнение wc -l <file>
возвращает 13,156.Так же и grep -c "" <file>
.
tail <file>
возвращает последние 10 строк, которые я вижу в gedit.head <file>
возвращает первые 10 строк.Но tail -n +8000 | head -n 1
, который должен вернуть 8000-ю строку, возвращает текст, который я вижу в строке 34,804 в gedit.
Я бы ожидал этих результатов, если бы в файле отсутствовали символы новой строки.Но у Gedit, похоже, нет проблем с этим.Кроме того, wc -L <file>
, который отображает максимальную длину строки, возвращает 142 байта, как и ожидалось.Размер файла составляет чуть более 9 000 000 байт, как и ожидалось.
Если wc -L <file>
= 142 и wc -c <file>
= 9046609, то как может wc -l <file>
= 13156?
Кто-нибудь знает, что я сделал не так при записи в этот файл?