sed删除不匹配正则表达式的行(保留匹配行)

简介: sed删除不匹配正则表达式的行(保留匹配行)

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" 的行将不会被显示。

目录
相关文章
|
2月前
|
Linux Perl
sed删除匹配正则表达式的行
sed删除匹配正则表达式的行
133 1
|
2月前
|
机器学习/深度学习 Shell 开发工具
正则表达式 与文本三剑客(sed grep awk)
正则表达式 与文本三剑客(sed grep awk)
|
机器学习/深度学习 C语言 数据安全/隐私保护
『正则表达式』概念 及在grep、awk、sed、C语言、Python中的简单应用
正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式。它可以用来检查一个字符串是否符合某个规则,或者从一个字符串中提取出符合某个规则的子串。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。 正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。
|
机器学习/深度学习 Linux Perl
Linux三剑客grep、sed、awk以及正则表达式
$ 以...结尾 ^ 以...开头 . 匹配任意一个字符 \- 匹配前一个字符或子表达式任意次(例如:grep "g.*d" a.txt(过滤a.txt文件中的以g开头以d结尾*可以代表有任意多个字符或没有字符))
129 0
Linux三剑客grep、sed、awk以及正则表达式
正则表达式去除空格、符号,只保留中文、英文、数字
正则表达式去除空格、符号,只保留中文、英文、数字
701 0
|
1月前
|
数据库 Python
Python网络数据抓取(8):正则表达式
Python网络数据抓取(8):正则表达式
19 2
|
16天前
|
自然语言处理 JavaScript 前端开发
Python高级语法与正则表达式(二)
正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。
|
16天前
|
安全 算法 Python
Python高级语法与正则表达式(一)
Python提供了 with 语句的写法,既简单又安全。 文件操作的时候使用with语句可以自动调用关闭文件操作,即使出现异常也会自动关闭文件操作。
|
24天前
|
Python
Python使用正则表达式分割字符串
在Python中,你可以使用re模块的split()函数来根据正则表达式分割字符串。这个函数的工作原理类似于Python内置的str.split()方法,但它允许你使用正则表达式作为分隔符。