Подключитесь к обоим серверам с сервера 1, подключив их к разным точкам подключения, а затем просто скопируйте файл, как и любой другой файл.
Он будет туннелировать данные через Server1 и помещать их на целевую машину.
sed '/\//!{H;d};G;/m=\(.*\)\n.*\1/d;P;d' file log
Объяснение: Сначала читается файл
с ключевыми словами фильтра, затем лог-файл. Строки, не содержащие /
, интерпретируются как ключевые слова и добавляются к пространству удержания (H
). К другим строкам добавляется место для удержания (G
) и удаляется, если ключевое слово после m=
повторяется в списке ключевых слов (/m=\(.*\)\n.*\1/d
). Если нет, то он печатается без добавленного пробела (P
).
Поскольку теперь ваш вопрос, кажется, имеет больше смысла, я думаю, вы ищете что-то вроде этого:
awk -F= 'NR==FNR{l[$NF]=1; next} { if (!l[$NF]) print;}' ignore_words your_log_file
Edit
Как Sundeep указал в комментарии выше, вы можете использовать grep следующим образом:
grep -Fvf ignore_words log_file
To Чтобы узнать, для чего используются параметры -Fvf
, обратитесь к странице man grep
.