BSDPORTAL.RU

На этом сайте обсуждаются вопросы использования ОС FreeBSD
 Портал  •  Статьи  •  Форум  •  Wiki  •  Поиск  •  FAQ  •  Обои  •   Официальная документация  •  Новые темы 

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: grep работал , теперь не работает
СообщениеДобавлено: Чт 02 ноя, 2017 3:18 pm 
Не в сети

Зарегистрирован: Пт 26 ноя, 2010 9:02 am
Сообщения: 6
Доброго времени суток , искал как сравнить два файла . Нашел вот такую комбинацию :

grep -f file1 -vFx file2

По началу хорошо работало , выдавало разницу в несовпадающих строках без учета порядка строки. К вечеру оно перестало работать, что за фигня не пойму . По набору сей команды выдавал список строк. Сейчас тишина, ни ошибок , ни списка строк.. Два файла есть , точно разные . Что я не так делаю ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: grep работал , теперь не работает
СообщениеДобавлено: Чт 02 ноя, 2017 5:07 pm 
Не в сети
Модератор

Зарегистрирован: Сб 11 сен, 2004 6:33 am
Сообщения: 5135
Откуда: Москва
С каких пор это "сравнение двух файлов"? Это "вывести строки из file2, которые не встречаются в file1". Оно, на минуту, не чувствительно к порядку строк, повторам и вообще к строкам которые есть только в file1. И ещё крайне неэффективно работает на большом file1.

Сравнение файлов - это в общем случае cmp или diff.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: grep работал , теперь не работает
СообщениеДобавлено: Чт 02 ноя, 2017 6:27 pm 
Не в сети

Зарегистрирован: Пт 26 ноя, 2010 9:02 am
Сообщения: 6
AMDmi3 писал(а):
С каких пор это "сравнение двух файлов"? Это "вывести строки из file2, которые не встречаются в file1". Оно, на минуту, не чувствительно к порядку строк, повторам и вообще к строкам которые есть только в file1. И ещё крайне неэффективно работает на большом file1.

Сравнение файлов - это в общем случае cmp или diff.


Большом это каким объемом ? Мне собственно и нужна была разница , т.е. то чего нет в другом файле не зависимо от положения строк . И под "неэффективно" что подразумевается ? Крайне ресурсозатратно или глючно ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: grep работал , теперь не работает
СообщениеДобавлено: Чт 02 ноя, 2017 7:24 pm 
Не в сети
Модератор

Зарегистрирован: Сб 11 сен, 2004 6:33 am
Сообщения: 5135
Откуда: Москва
tygra писал(а):
Большом это каким объемом ? Мне собственно и нужна была разница , т.е. то чего нет в другом файле не зависимо от положения строк . И под "неэффективно" что подразумевается ? Крайне ресурсозатратно или глючно ?

Ресурсозатратно по памяти (он засасывает весь file1 в память) и не исключено что по CPU (он, в теории, может строить trie или единый конечный автомат из всех строк, но не факт что он тупо не перебирает их по одной).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: grep работал , теперь не работает
СообщениеДобавлено: Чт 02 ноя, 2017 8:17 pm 
Не в сети

Зарегистрирован: Пт 26 ноя, 2010 9:02 am
Сообщения: 6
AMDmi3 писал(а):
tygra писал(а):
Большом это каким объемом ? Мне собственно и нужна была разница , т.е. то чего нет в другом файле не зависимо от положения строк . И под "неэффективно" что подразумевается ? Крайне ресурсозатратно или глючно ?

Ресурсозатратно по памяти (он засасывает весь file1 в память) и не исключено что по CPU (он, в теории, может строить trie или единый конечный автомат из всех строк, но не факт что он тупо не перебирает их по одной).


А тогда не страшно , это единственная возложенная на сервер задача ( нужный скрипт создает ) , памяти у него валом , ровно как и ресурса CPU , отдельно выделенная не большая железка для управления микротиком т.к. сам микрот такие файлы вертеть не может ... Главное что бы не глюкало. Что то я вроде ничего не делал и оно заработало ... Что то это напрягает , таких чудес от фри не должно быть , где то я накосячил, а где не пойму пока ....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: grep работал , теперь не работает
СообщениеДобавлено: Пт 03 ноя, 2017 8:58 am 
Не в сети

Зарегистрирован: Пт 26 ноя, 2010 9:02 am
Сообщения: 6
Всплыл другой "косяк" выше указанная команда игнорирует совпадения .... думаю ... т.е. если есть две или три одинаковые строки то это дело игнорирует , есть и ладно .... как бы это "исправить " ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: grep работал , теперь не работает
СообщениеДобавлено: Пт 03 ноя, 2017 10:32 am 
Не в сети

Зарегистрирован: Чт 14 май, 2009 6:56 pm
Сообщения: 737
Использовать уже diff -u, наконец?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: grep работал , теперь не работает
СообщениеДобавлено: Пт 03 ноя, 2017 2:32 pm 
Не в сети
Модератор

Зарегистрирован: Сб 11 сен, 2004 6:33 am
Сообщения: 5135
Откуда: Москва
Я на этот "косяк" явно указал. Нужно разобраться что вам конкретно нужно, для начала.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: grep работал , теперь не работает
СообщениеДобавлено: Вс 05 ноя, 2017 12:01 pm 
Не в сети

Зарегистрирован: Пт 26 ноя, 2010 9:02 am
Сообщения: 6
Спасибо Вам что не "прошли мимо" . Сравнение двух списков маков , в одном то что есть , в другом то к чему нужно привести то что есть . Далее формировка скрипта управления микротиком для внесения нужных изменений в фаервол... К сожалению на микротике не возможно быстро что либо сделать с фаерволом , все построчно и последовательно и не всегда адекватно как на фре ,большие списки маков он ворочать не может, пришлось заводить отдельную машину на фри , для формирования скрипта , так оказалось проще и быстрее значительно. На данный момент скрипт проходит холостую "обкатку" , пока все работает , на днях запущу в нагрузку ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: grep работал , теперь не работает
СообщениеДобавлено: Пн 06 ноя, 2017 1:51 am 
Не в сети
Модератор

Зарегистрирован: Сб 11 сен, 2004 6:33 am
Сообщения: 5135
Откуда: Москва
sort -u + diff/comm (сортируем списки маков, потом получаем что добавилось или удалилось)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], Google [Bot], Yahoo [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Яндекс.Метрика