Поиск в большом файле
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Поиск в большом файле - 2011-01-11 11:48:30.220000
|
|
|
Pupkin-Zade
Сообщений: 9398
Оценки: 1489
Присоединился: 2004-03-10 13:54:16
|
Дано: лог в 4 Гб Как: найти в нем нужную инфу? grep вешается…
|
|
|
RE: Поиск в большом файле - 2011-01-11 11:53:30.073333
|
|
|
jnpe
Сообщений: 171
Оценки: 0
Присоединился: 2010-12-10 12:14:08.143333
|
python? …. исходные данные вида?
|
|
|
RE: Поиск в большом файле - 2011-01-11 12:08:58.243333
|
|
|
Pupkin-Zade
Сообщений: 9398
Оценки: 1489
Присоединился: 2004-03-10 13:54:16
|
А, не, grep вроде ищет
|
|
|
RE: Поиск в большом файле - 2011-01-12 07:06:32.706666
|
|
|
The Joker
Сообщений: 3485
Оценки: 99
Присоединился: 2008-10-07 16:22:13.730000
|
grep, по идее, надёжный как лом. А ещё к ниму есть egrep и fgrep, если что.
|
|
|
RE: Поиск в большом файле - 2011-01-13 03:34:05.866666
|
|
|
Лунный Камень
Сообщений: 24
Оценки: 0
Присоединился: 2010-07-05 03:40:36.043333
|
quote:
ORIGINAL: Pupkin-Zade grep вешается… Сам grep наврядли виноватый. У меня на ноуте 8-гиговые файлы прочесывались минут за пять. Там проц 2 GHz и ОЗУ 2 гига. Версия grep'a 2.6.3
|
|
|
RE: Поиск в большом файле - 2011-01-13 06:03:12.196666
|
|
|
WinLinux
Сообщений: 491
Оценки: 0
Присоединился: 2008-07-18 14:06:33.563333
|
А как на счет cat + grep и перенаправление в файл? Пример: cat my_file | grep -n "test_string" > test_string.txt Повиснет наверное на долго, но результат должен быть ))
|
|
|
RE: Поиск в большом файле - 2011-01-14 14:15:30.696666
|
|
|
The Joker
Сообщений: 3485
Оценки: 99
Присоединился: 2008-10-07 16:22:13.730000
|
quote:
ORIGINAL: WinLinux А как на счет cat + grep и перенаправление в файл? Пример: cat my_file | grep -n "test_string" > test_string.txt Повиснет наверное на долго, но результат должен быть )) А в чём принципиальная разница между выводом результата в консоль и в файл? На скорости это не должно отразиться…
|
|
|
RE: Поиск в большом файле - 2011-01-16 15:10:53.966666
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
quote:
ORIGINAL: The Joker А в чём принципиальная разница между выводом результата в консоль и в файл? На скорости это не должно отразиться… Всё зависит от консоли и от вывода grep'а. У консоли есть некая предельная скорость, на которой она может кушать выводимые данные. Проверяется эта скорость элементарно – надо взять текстовый файлик в несколько метров, и сказать `cat big-file.txt'. Скажем когда я собирал генту на четырёхядерном процессоре, при этом подключая кластер из десяти селеронов для дополнительного ускорения компиляции, у меня сложилось устойчивое подозрение, что подчастую ограничением скорости компиляции была консоль, куда make писала много-много флуда. Впоследствии я там запускал emerge не из консоли, а из rxvt – он побыстрее ядерной консоли. /* А кое-кто никак не может понять, на хрена серверу акселерированная графика ;) */ Интереснее зачем там нужен cat? Вот он точно лишь привносит лишние тормоза. Они правда, будут незаметны на фоне тормозов вызванными чтением файла с диска, но и тем не менее они будут: ведь данные будут читаться с диска, отдаваться в процесс cat, и оттуда через ядро передаваться в процесс grep. Лишнее прокидывание данных через ядро, лишние переключения контекстов, лишние memcpy (причём как в user-space, так и в ядре). Если бы вместо cat использовался бы dd, с настройкой размера буфера, то может быть и было бы какое-нибудь ускорение, но я в это не очень верю – ядро и само может организовать упреждающее чтение файла, да и grep не настолько туп, чтобы делать read на каждый байт. quote:
ORIGINAL: Лунный Камень Сам grep наврядли виноватый. У меня на ноуте 8-гиговые файлы прочесывались минут за пять. Там проц 2 GHz и ОЗУ 2 гига. Версия grep'a 2.6.3 Тут процессор и ОЗУ будут влиять лишь тогда, когда их не хватает и без grep'а. Иначе ограничителем скорости будет скорость чтения с диска. Пупкину надо систему на рейд перевести.
|
|
|
|
|