August 6th, 2008

  • onorua

Solaris и grep и файл шаблонов

есть набор шаблонов из 5220 строк, вхождения которых нужно найти в 1001 файле размером около 100М, в заархивированном с помощью gzip'а варианте - примерно 6.5М. В результате должна получится выборка примерно из 70000 записей или 800М.

Начнем с того что /usr/bin/grep - параметр с указаниме файла шаблонов не принимает. Принимает только /usr/bin/fgrep - который принимает только ~430 строк в файле шаблона (он у меня длиной примерно 10 символов. Попробовал /usr/sfw/bin/gfgrep, лучше но все 5220 строк в один файл - ругается что очень много параметров.

Попытался сделать так:
==================
ls -1 /Archive.200808/Events.20080801{00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20}* | while read eventfile;
do
/usr/bin/gzcat $eventfile | /usr/sfw/bin/gfgrep -f acc_id/xaa -f acc_id/xab -f acc_id/xac -f acc_id/xad -f acc_id/xae -f acc_id/xaf -f acc_id/xag -f acc_id/xah -f acc_id/xai -f acc_id/xaj -f acc_id/xak -f acc_id/xal -f acc_id/xam >> events/new_grep.log;
echo "Processing $eventfile " >> events/proc.log;
done
==================

Сплитом разбил файлы на части, и отдал ему на обработку. Моему удивлению небыло предела когда я увидел строки слепленные из двух строк. Начало одной, потом без пробелов или каких-то существенных отличий начинается новая строка, при этом она может начинатся как с начала новой строки, так и с середины. Проверить последовательность строк следующая ли это строка по счету или следующая по совпадению - не имею возможности (без понятия как это сделать).

Пробовал даже так:
==================
ls -1 /Archive.200808/Events.20080801{00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20}* | while read eventfile;
do
/usr/bin/gzcat $eventfile > tmp/12345; ls -1 acc_id/xa* | while read idfile;
do /usr/bin/fgrep -f $idfile tmp/12345 >> events/usr_bin_grep.log;
echo "Processing $eventfile with $idfile" >> events/proc.log;
done;
done
==================

Все равно несколько строк обьединяет в одну в рандомном порядке.
Помогите, как вы выкусываете длинные строки по заданному множественному шаблону.

P.S. разархивирую я с помощью /usr/bin/gzcat, с ним проблем пока небыло.

Спам

Подскажите где бы засветить ящик или ещё как ... хочу спамассасин в форсированном варианте обучить
  • stans

Письмо-претензия

Друзья, имеется проблема, необходимо накатать официальное письмо-претензию от организации к провайдеру. Суть проблемы - адские потери пакетов, вызвано тем, что у прова, как оказалась позже, wi-fiная "последняя миля" с низким уровнем сигнала. У кого есть опыт написания подобных писем?

(no subject)

Интересный вопрос, на который я пока не знаю ответа.

Дано:
Linux;
SAN, на котором у нас есть два блока, размеченных под LVM2 PV. Эти PV объединены в VG, на которых лежит один LV (с основными данными) и r/o snapshot с него для целей резервного копирования.

Вопрос. Можно ли подключить (примонтировать) этот snapshot с другой машины? А то резервное копирование заметно грузит основной сервер.