2015-06-22 3 views
0

У меня очень большой файл данных, около 32 ГБ. Файл состоит из примерно 130 тыс. Строк, каждый из которых содержит в основном числа, но также имеет несколько символов.Как извлечь определенные строки из огромного файла данных?

Задача, которую мне нужно выполнить, очень ясна: мне нужно извлечь 20 строк и записать их в новый текстовый файл.

Я знаю точное количество строк для каждой из 20 строк, которые я хочу скопировать.

Итак, вопрос: как я могу извлечь контент по определенному номеру строки из большого файла? Я нахожусь в Windows. Есть ли инструмент, который может выполнять такие операции, или мне нужно написать код?

Если нет прямого способа сделать это, я думал, что возможный подход состоит в том, чтобы сначала извлечь небольшие блоки исходного файла (чтобы каждый блок содержал одну или несколько строк для извлечения), а затем использовать стандартный редактор чтобы найти строки в каждом блоке. В этом случае вопрос будет следующим: как я могу разделить большой файл по строкам по окнам? Я использую инструмент с именем HJ-Split, который отлично работает с большими файлами, но он может разбиваться только по размеру, а не по строке.

ответ

0

Установка [1] Babun Shell (или Cygwin, но я рекомендую Babun), а затем использовать sed команду, как описано здесь: How can I extract a predetermined range of lines from a text file on Unix?

[1] Установка Babun означает на самом деле просто расстегивать его где-то, так что вы не Не нужно иметь права администратора на сервере.

+0

Спасибо, бабун работает очень хорошо. Он очень прост в установке и содержит длинный список полезной команды unix (и более). Все это за счет загрузки около 270 МБ. –

+0

@LucaNaso Добро пожаловать. И я согласен, что Бабун - отличный инструмент, я устанавливаю его как первое, что нужно на каждой машине Windows, с которой я должен справиться. :-) –

Смежные вопросы