-3

У меня есть два файла с несколькими IP-адресами, и я хочу оштрафовать те IP, которые не во втором файле.

файл один имеет

1.2.3.4
4.5.6.7

и файл два имеет

117.239.57.130
117.239.58.226
103.248.120.245
115.249.55.100
1.2.3.4
4.5.6.7

так что я хочу только

117.239.57.130
117.239.58.226
103.248.120.245
115.249.55.100  

эти ip которых нет в файле 1.

1 ответ1

0

Быстро и грязно. Невозможно использовать на огромных серверных инфраструктурах из-за высокой производительности для больших файлов. Но для разумных размеров файла жизнеспособны:

пока читаешь file2_var; делать, если ["$ file2_var"!= "$(grep $ file2_var path/to/file1)"]; затем echo $ file2_var >> file3.txt; фи; сделано <путь / к / файл2

Я просто дурачился со сценариями в течение месяца, и это я сделал в поезде, поэтому я не могу обещать, что это работает. Я не могу проверить это прямо сейчас, поэтому просто проверьте это и скажите мне, если это работает.

Пришлось редактировать его дважды .. Если вы можете прочитать это, это должно иметь каждый паратез.

новое редактирование. Я испортил команду grep. исправленный. Сможет ли сын на самом деле проверить это

Последнее редактирование, я только что проверил. Эта команда работает. Просто упакуйте его в файл, сделайте его исполняемым и запустите файл с #!/bin/bash и все хорошо. Кстати, я изменил входной документ на path/to/file2, так как я ожидаю, что этот документ содержит все IP-адреса, а file1 содержит только тот, который вам не нужен. Итак, ура. наслаждаться

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .