sed删除匹配正则表达式的行

简介: sed删除匹配正则表达式的行

在Linux环境下,如果你想使用sed命令删除文件中匹配某个正则表达式的行,可以采用如下命令格式:

sed '/regex_pattern/d' input_file > output_file

这里,

  • /regex_pattern/ 是你要匹配的正则表达式模式。
  • dsed中的动作命令,表示删除(delete)。

当执行此命令时,sed会逐行读取input_file文件的内容,并检查每一行是否与regex_pattern相匹配。若某行匹配成功,则该行会被删除,不包含匹配行的结果将输出到output_file中(或者直接覆盖原文件,通过追加重定向符号>input_file实现就地修改,但通常不推荐这样做以免意外丢失数据)。

如果你想要在内存中处理且不创建新的输出文件,可以使用 -i 选项来直接编辑原文件:

sed -i '/regex_pattern/d' input_file

注意

  • -i 参数后面可以直接跟一个可选的备份扩展名(如 .bak),这样会在编辑文件前先备份原始文件,例如:sed -i.bak '/regex_pattern/d' input_file
  • 正则表达式应当根据实际需求编写,确保其能匹配到你希望删除的行的内容。

例如,要删除包含单词 "example" 的所有行:

sed '/example/d' input.txt > output.txt
目录
相关文章
|
4天前
|
Perl
sed删除不匹配正则表达式的行(保留匹配行)
sed删除不匹配正则表达式的行(保留匹配行)
102 2
|
11月前
|
机器学习/深度学习 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结尾*可以代表有任意多个字符或没有字符))
120 0
Linux三剑客grep、sed、awk以及正则表达式
|
Shell Perl
sed 命令+正则表达式
sed是一个非交互性性文本编辑器, 它编辑文件或标准输入导出的文件拷贝。标准输入可能是来自键盘、文件重定向、字符串或变量,或者是一个管道文件。sed可以随意编辑小或大的文件,有许多 sed命令用来编辑、删除,并允许做这项工作时不在现场。
877 0
|
4天前
|
Python
Python 内置正则表达式库re的使用
正则表达式是记录文本规则的代码,用于查找和处理符合特定规则的字符串。在Python中,常通过原生字符串`r'string'`表示。使用`re.compile()`创建正则对象,便于多次使用。匹配字符串有`match()`(从开头匹配)、`search()`(搜索首个匹配)和`findall()`(找所有匹配)。替换字符串用`sub()`,分割字符串则用`split()`。
17 3
|
4天前
|
Python Windows
【Python进阶必备】一文掌握re库:实战正则表达式
【Python进阶必备】一文掌握re库:实战正则表达式
14 0
|
2天前
|
数据采集 Python
python中的正则表达式,Python实习面试经验汇总
python中的正则表达式,Python实习面试经验汇总
|
4天前
|
Python
python正则表达式小结
1. **其他函数:**  `re`模块还提供了其他一些函数,例如 `re.search()`查找字符串中第一个匹配的部分,`re.findall()`查找所有匹配的部分,`re.sub()`替换匹配的部分。
5 0