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
Сообщения: 5118
Откуда: Москва
С каких пор это "сравнение двух файлов"? Это "вывести строки из 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
Сообщения: 5118
Откуда: Москва
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
Сообщения: 5118
Откуда: Москва
Я на этот "косяк" явно указал. Нужно разобраться что вам конкретно нужно, для начала.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: 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
Сообщения: 5118
Откуда: Москва
sort -u + diff/comm (сортируем списки маков, потом получаем что добавилось или удалилось)


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

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


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

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


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

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