GNU sed 4.2 поддерживает -z
:
sed -z 's/172.18.0.7\n172.18.0.9\n172.18.0.8\n//g' file
Это решение не будет работать, когда первая строка потенциального набора из трех будет выглядеть как
some_other_chars_before_172.18.0.7
Когда вы добавите \n
в начале матча, вам нужно удалить последние \n
, чтобы найти 2 сета без чего-то промежуточного, но это позволило бы последней строке, заканчивающейся
172.18.0.8_and_more_characters
Это похоже на тупик, но вы можете изменить свой ввод в стиле Windows и соответствовать Smart:
sed -rz 's/\n/\r\n/g;s/(\n|^)172.18.0.7\r\n172.18.0.9\r\n172.18.0.8\r//g;s/\r//g' file