【发布时间】:2015-11-28 17:26:48
【问题描述】:
我在文件中有一行如下所示
abcd x 10.10.10.10
有时同一行可能有一些额外的字段,如下所示
abcd 123 AB x 10.10.10.10
所以现在我必须从文件中删除这一行。我的匹配模式是在一行中搜索 abcd、x 和 10.10.10.10 并将其删除,因为这些是唯一的固定值。有没有办法将多个模式与逻辑和 sed 匹配并删除该行?我尝试过使用正则表达式,但由于这里的模式并不总是相同,所以这不起作用。我需要一个 sed 的解决方案。我试图搜索其他网站和*。找不到任何适合我的解决方案。
【问题讨论】:
-
我得到了答案,这将起作用 sed -i -r '/^abcd.*x.*10.10.10.10/d' file
-
不,这甚至不会接近工作。在您发布的示例输入上尝试它,并考虑它会产生错误匹配的所有多种方式(例如,输入行是
abcdefghi red hexadecimal 20131091031071050917 banana)。您没有说这些字符串是否必须以特定顺序出现 - 是吗?