Сортировка файлов

Любые разговоры которые хоть как-то связаны с тематикой форума

Модератор: Модераторы разделов

Vitaly79
Сообщения: 5

Сортировка файлов

Сообщение Vitaly79 »

необходимо удалить из файла-1 строки, в которых есть хотя бы одна подстрока из файла-2
т.е. на каждую строку из 1 файла нужно прогонять регулярку всех строк из 2 файла
скриптом могу сделать но хотелось бы одной конвейерной командой
типа cat file-1 | sed... etc > out
возможно?
Спасибо сказали:
Лис
Сообщения: 1639
ОС: Zenwalk

Re: Сортировка файлов

Сообщение Лис »

А если не sed, а grep --invert-match?
Спасибо сказали:
Vitaly79
Сообщения: 5

Re: Сортировка файлов

Сообщение Vitaly79 »

Лис
ей Богу пусть grep лиш бы работало
соль в том как прогнать для каждой строки все другие строки из другого файла
вот например в sed есть команда 'r file' прочитать файл
а у меня тяму не хватает как сделать
perl скрипт могу забацать но думаю конвейер большой файл быстрее обработает
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Сортировка файлов

Сообщение elide »

ты спросил в 9 утра. уже 12. как бы медленно не работал скрипт на перл, за три часа он уже всяко обработал бы твои файлы. тратить несколько часов на решение, которое экономит несколько секунд на выполнении...... это крайне странное занятие, да.
слава роботам!
Спасибо сказали:
Vitaly79
Сообщения: 5

Re: Сортировка файлов

Сообщение Vitaly79 »

elide
ошибаешься
1) никуда не тороплюсь
2) задачка довольна интересна
Спасибо сказали:
snake
Бывший модератор
Сообщения: 677

Re: Сортировка файлов

Сообщение snake »

Vitaly79 писал(а):
08.11.2006 14:20
1) никуда не тороплюсь

В таком разе можно бы и C выучить и сконстролить для такой задачи бинарник. Кстати, тоже самый выход будет полезен, если вам эту процедуру нужно делать регулярно и/или в цикле по сто тыщ мульёнов раз.

Не охота си учить, возьмите хотя б freepascal (уж паскалю в свое время почти всех учили) Всяко быстрее перла будет. :)
В реальности все не так, как на самом деле...
JabberID: zmeyk@jabber.ru
Спасибо сказали:
Аватара пользователя
plumbum
Сообщения: 169
ОС: Debivan

Re: Сортировка файлов

Сообщение plumbum »

Код: Выделить всё

grep -ivE "`xargs -a dellist.txt | tr " " "|"`" source.txt


Недостаток: нельзя что бы в подстроках (файл dellist.txt) были пробелы и "|". Но они экранируются в соответствии с правилами регэкспов (к примеру пробел \\s).

Вроде работает. На всё это дело, вместе с чтением манов у меня ушло 10 минут.
ivan-a-r_1.0-19791224.3_ru_i786.deb (testing)
Спасибо сказали:
Аватара пользователя
xorader
Сообщения: 1030
Статус: собирающий миры
ОС: Debian

Re: Сортировка файлов

Сообщение xorader »

"тематический флейм" <_< :D :D
Это пример, когда важен процесс, а не результат ? :)
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
Спасибо сказали:
Vitaly79
Сообщения: 5

Re: Сортировка файлов

Сообщение Vitaly79 »

snake
СИ я как раз таки знаю и довольно неплохо
но под никсы тока на перле в основном программирую
в принципе идея хорошая по быстроте не уступит
но хотелось бы воспользоваться гибкими инструментами Unix
зачем велик ихобретать
и научиться ими работать, по sed что-то не нашел нужных примеров в интернете

plumbum
спасибо вам
буду пробовать
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Сортировка файлов

Сообщение sash-kan »

(Vitaly79 @ Nov 8 2006, в 15:33) писал(а):зачем велик ихобретать
действительно, пусть другие их обретут (:
вот требуемый велик:
grep -vxf dellist.txt source.txt
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
plumbum
Сообщения: 169
ОС: Debivan

Re: Сортировка файлов

Сообщение plumbum »

sash-kan, ндя.. Таки буду маны внимательнее читать
=)
ivan-a-r_1.0-19791224.3_ru_i786.deb (testing)
Спасибо сказали:
Vitaly79
Сообщения: 5

Re: Сортировка файлов

Сообщение Vitaly79 »

не все так просто оказывается
sash-kan ваша команда с лог-файлами 500(исходный) и 1(деллист) Мб зависает очень надолго
не выводя в stdout ни одной строки, через 30 минут памяти под grep довольно много выделилось
пробовал grep с опцией --line-buffered, не помогает

plumbum ваша команда выдала
bash: /bin/grep: Argument list too long




извиняюсь если не туда запостил
не нашел соответствующего раздела
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Сортировка файлов

Сообщение sash-kan »

(Vitaly79 @ Nov 9 2006, в 18:35) писал(а):500(исходный) и 1(деллист) Мб
прочитал и чуть не поперхнулся.
конечно, тут надо потяжелее артиллерию подтягивать.
хотя бы perl.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали: