Как получить количество строк большого файла, не менее 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
на нем, но, возможно, это будет стоить того, если вы будете много подсчитывать строки. Невозможно сказать, какие компромиссы без дополнительной информации.