Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Гигантский текстовый файл - найти кусочек и записать в отдельный файл. / 5 сообщений из 5, страница 1 из 1
20.05.2015, 15:43
    #38964303
ОКТОГЕН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гигантский текстовый файл - найти кусочек и записать в отдельный файл.
Надо в отдельный файл выгрузить 20 тысяч строк после строки с найденным ключевым словом.
Проблема в том, что файлик имеет размер в 500 с лишним гигов.
grep виснет, mc-edit очень сильно тормозит.
Кто решал такую задачу?
...
Рейтинг: 0 / 0
20.05.2015, 15:59
    #38964347
ОКТОГЕН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гигантский текстовый файл - найти кусочек и записать в отдельный файл.
скопирую в отдельное место и попробую сплитом разбить.
В 100 частях найти проще, тем более что кусочек ближе к концу.
...
Рейтинг: 0 / 0
21.05.2015, 00:52
    #38964722
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гигантский текстовый файл - найти кусочек и записать в отдельный файл.
ОКТОГЕН,
sed-ом
в два прохода
- номер строки с ключевым словом, например вернет 100500100
Код: powershell
1.
$ sed -n '/что искать/{=;q}' файл500+гиг

- выгрузка 20k строк, _после_ строки с ключевым словом
Код: powershell
1.
$ sed -n '100520101q;100500101,$p' файл500+гиг > файл20к_строк



двумя sed-ами в один проход
Код: powershell
1.
$ sed -n '/что искать/,$p' файл500+гиг | sed '20001q;1d' > файл20к_строк
...
Рейтинг: 0 / 0
24.05.2015, 04:47
    #38967164
volodin661
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гигантский текстовый файл - найти кусочек и записать в отдельный файл.
Код: php
1.
perl -ne ' print if /ключевое слово/ .. eof '  file_500.gig > output
...
Рейтинг: 0 / 0
25.05.2015, 08:54
    #38967495
Ганнибал бен Гисгон Магонид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гигантский текстовый файл - найти кусочек и записать в отдельный файл.
grep не виснет. 500 гиг ты будешь читать от 1 до 20 часов в зависимости от скорости диска. Без разницы, чем читать. И перл тут не поможет, а вот чтение от того места, которое чуть ранее того места, где должен быть кусок текста вполне может помочь.

Если задача разовая -- запускаешь grep на выходные и ждёшь.
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Гигантский текстовый файл - найти кусочек и записать в отдельный файл. / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]