Как получить количество строк большого файла, не менее 5G

Как получить количество строк большого файла, не менее 5G. самый быстрый подход с использованием оболочки.

Ответ 1

Шаг 1: head -n filename > newfile//получить первые n строк в новый файл, например. n = 5

Шаг 2. Получите огромный размер файла, A

Шаг 3. Получите размер нового файла, B

Шаг 4: (A/B) * n приблизительно равен точному количеству строк.

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

Ответ 2

Самый быстрый подход, вероятно, будет wc -l.

Команда wc оптимизирована для выполнения такого рода вещей. Очень маловероятно, что что-нибудь еще, что вы можете сделать (кроме этого на более мощном оборудовании), будет быстрее.

Да, подсчет строк в текстовом файле с 5 гигабайтами медленный. Это большой файл.

Единственной альтернативой было бы хранение данных в каком-то другом формате, в первую очередь, возможно, в базе данных, возможно, в файле с фиксированными записями. Преобразование 5-гигабайтного текстового файла в какой-либо другой формат будет по меньшей мере столь же неправильным, как запуск wc -l на нем, но, возможно, это будет стоить того, если вы будете много подсчитывать строки. Невозможно сказать, какие компромиссы без дополнительной информации.