在 sed
中,要删除不匹配某个正则表达式的行(即保留匹配行),可以使用 -n
选项配合 p
动作。-n
选项使 sed
只打印经过处理的行,默认情况下,sed
会打印每一行。结合 p
动作,我们可以让 sed
只打印匹配正则表达式的行。
命令格式如下:
sed -n '/regex/p' filename
这里:
-n
表示不打印所有行(静默输出)。/regex/
是正则表达式模式,用来匹配你想要保留的行。p
动作用于打印那些匹配正则表达式的行。
举例来说,如果你想要保留包含 "example" 的所有行,并删除其他行,你可以这样操作:
sed -n '/example/p' input.txt
这样只会输出包含 "example" 字符串的行,而不包含 "example" 的行将不会被显示。