gpt4 book ai didi

regex - 如何使用 sed 命令删除具有特定文本的行?

转载 作者:行者123 更新时间:2023-12-04 04:43:54 26 4
gpt4 key购买 nike

我在这个论坛上看到了一个类似的问题,但这个问题与那些问题几乎没有什么不同。因此,请不要将此视为重复。

我有一个包含数据的文件

blah blah
blah blah Select from table blah blah QWERTY blah
Select from table
QWERTY Here
blah blah

现在我想删除所有具有 Select from table 的行和 QWERTY
预期输出:
blah blah
Select from table
QWERTY Here
blah blah

我试过如下:
sed /*Select from table*QWERTY*/d file.txt

但它不起作用。有人可以帮忙吗?

最佳答案

你和你很亲近 sed尝试:

$ sed '/Select from table.*QWERTY/d' file
blah blah
Select from table
QWERTY Here
blah blah

您应该始终用单引号引用脚本,并且不要将 shell globbing 与正则表达式混淆。使用正则表达式匹配零个或多个任何字符是 .* .

如果订单得到保证,则只需 grep可以使用 -v选项:
$ grep -v 'Select from table.*QWERTY' file
blah blah
Select from table
QWERTY Here
blah blah

如果不能保证顺序,则使用诸如 awk 之类的语言您可以在其中将正则表达式匹配与逻辑运算符组合在一起:
$ awk '!/Select from table/||!/QWERTY/' file
blah blah
Select from table
QWERTY Here
blah blah

关于regex - 如何使用 sed 命令删除具有特定文本的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18488442/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com