Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Сравнение двух файлов с помощью регулярки / 7 сообщений из 7, страница 1 из 1
16.11.2010, 16:38
    #36959925
cintlt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение двух файлов с помощью регулярки
Добрый день.
помогите решить задачу.
есть два файла, первый файл - это шаблонный список
Второй файл - это файл, который надо проверить этим шаблоном.
ТО что есть в шаблоне должно быть в файле 2. То чего нет в шаблоне может быть в файле 2.
По итогам надо сформировать файл 3, содержащий инфу о несовпадениях, то есть если файл 2 проходит в шаблон, то ничего.
желательна поддержка регулярки.
Например
шаблон.txt
стул
стол
окно

файл2.txt
стул
кровать
окно
стол

файл3 должен быть пустой т.к. файл2 содержит строки из шаблона

Пробовал grep не помогло? т.к. нужна поддержка регулярки
проверял вот таким выражением

grep -ef шаблон.txt файл2.txt
...
Рейтинг: 0 / 0
16.11.2010, 20:34
    #36960453
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение двух файлов с помощью регулярки
cintlt,

Дак надо ж несовпадения вывести, если правильно понял. Ключик -v не поможет?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.11.2010, 22:08
    #36960594
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение двух файлов с помощью регулярки
cintlt,

Кажется, оно?
Код: plaintext
1.
$ grep -vf шаблон.txt файл2.txt
кровать

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
17.11.2010, 00:50
    #36960714
cintlt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение двух файлов с помощью регулярки
vkle,

Здесь проблема в том, что шаблон должен пожирать и вот такое

стол23
стул11
и даже
кровать2.0 улучшенная

Надеюсь все поняли, что речь идет о скрипте, в котором будут анализироваться данные по инвентаризации установленного софта.
Грубо.
У нас есть список того что должно быть - шаблон.
И список того что на самом деле есть.
Сравниваем шаблон с тем что есть, и если не находим - выводим эту строку шаблона в поток.
если строка есть, то ничто не выводится (ну тут возможны варианты, например ок/not ok).
Если честно, я немного запутался с grep и diff, на таком уровне не работал. Все силы ушли на написание сборщика инфы. А анализ оказся сложнее чем я рассчитывал.


Спасибо за помощь
...
Рейтинг: 0 / 0
17.11.2010, 01:17
    #36960726
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение двух файлов с помощью регулярки
cintlt,

ИМХО проще запихнуть все данные по софту/машинам в БД, а оттуда делать нужные выборки для отчетов.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
17.11.2010, 02:05
    #36960747
cintlt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение двух файлов с помощью регулярки
к сожалению не проще
...
Рейтинг: 0 / 0
17.11.2010, 02:41
    #36960759
Андрей Панфилов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение двух файлов с помощью регулярки
cintlt,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
~]$ cat template.txt
стол кухонный
стол
окно
~]$ cat entries.txt
стул1
1стул
стол2
2стол
1стол кухонный1
~]$ cat template.txt | (while read; do
> grep -f- entries.txt >/dev/null  2 >& 1  <<__EOF__
> $REPLY
> __EOF__
> [ $? =  0  ] || echo $REPLY
> done
> )
окно
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Сравнение двух файлов с помощью регулярки / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]