|
0 / 0 / 0
Регистрация: 06.12.2018
Сообщений: 4
|
||||||||||||||||
Добавление недостающих строк при сравнении двух файлов06.12.2018, 10:14. Показов 1844. Ответов 11
Добрый день!
В postfix часто приходится вносить множество адресов для блокировки спама и прочей разной неведомой херни. Есть 2 файла Source и Destination. В Source список адресов, которые УЖЕ блокируется или разрешается. В Destination - то что нужно заблокировать. Пример Destination:
если значение там есть, то ничего не добавлять. если значение там "xxx.ru OK" то заменить его на "xxx.ru REJECT" если значения там нет, то нужно его добавить в виде "адрес REJECT" Добавлено через 55 минут Вот такое пока что наваял.
вот только не понятно как заменять одну переменную в цикле на другую((
0
|
||||||||||||||||
| 06.12.2018, 10:14 | |
|
Ответы с готовыми решениями:
11
Не учитывается регистр при сравнении двух строк
Зацикливание при сравнении строк |
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|
| 06.12.2018, 12:19 | |
|
0
|
|
|
6627 / 2258 / 346
Регистрация: 10.12.2013
Сообщений: 7,809
|
||||||
| 06.12.2018, 12:52 | ||||||
|
Если по-простому, без изысков
1
|
||||||
|
0 / 0 / 0
Регистрация: 06.12.2018
Сообщений: 4
|
||
| 06.12.2018, 14:36 [ТС] | ||
|
В файле Source только строки c ip или доменами, без REJECT Добавлено через 3 минуты volodin661, Ойойой, perl. Не особо нем не понимаю, даже если потом захочу что-то подправить, то это будет проблема. А с башем нельзя такое? В любом случае спасибо!
0
|
||
|
6627 / 2258 / 346
Регистрация: 10.12.2013
Сообщений: 7,809
|
||
| 06.12.2018, 15:03 | ||
|
0
|
||
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
||||||||||||
| 06.12.2018, 17:01 | ||||||||||||
|
А так можно и Вашим способом:
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 06.12.2018
Сообщений: 4
|
||
| 10.12.2018, 07:43 [ТС] | ||
|
Отличная идея - добавить в Dest строки из Source с добавлением REGECT. А как тогда отсортировать дубли и удалить то, где встречается ОК ? В итоге в файле будут строки yyy.ru OK zzz.ru OK xxx.ru OK xxx.ru REGECT То что не поменялось на REGECT должно остаться. Дело в том, что подобных записей как xxx.ru OK там много и нет смысла грепать только одну строку "xxx.ru".
0
|
||
|
6627 / 2258 / 346
Регистрация: 10.12.2013
Сообщений: 7,809
|
|
| 10.12.2018, 08:42 | |
|
все эти конфигурации, кстати, имеет смысл заправить в Makefile.
0
|
|
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|||||||||||||
| 10.12.2018, 10:47 | |||||||||||||
0
|
|||||||||||||
|
0 / 0 / 0
Регистрация: 06.12.2018
Сообщений: 4
|
|
| 11.12.2018, 08:54 [ТС] | |
|
volodin661, Добрый день! Подскажите пожалуйста, как изменить Ваш скрипт чтобы вывод был сразу в Destination.file а не в Destination.new ?
Идея-то здесь простая: сначала собрать в Source.file то что надо блокировать. Затем запустить скрипт, который добавит все значения в Destination.file.
0
|
|
|
6627 / 2258 / 346
Регистрация: 10.12.2013
Сообщений: 7,809
|
|
| 11.12.2018, 11:13 | |
|
0
|
|
|
189 / 146 / 32
Регистрация: 04.10.2013
Сообщений: 150
|
||||||||||||||
| 12.12.2018, 11:33 | ||||||||||||||
0
|
||||||||||||||
| 12.12.2018, 11:33 | |
|
Помогаю со студенческими работами здесь
12
Кодировка при сравнении строк Ошибка при сравнении строк
Игнорировать регистр при сравнении строк Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|