我正在选择特定的行,并希望将其与它之后的所有文本和行一起删除。
我用来选择包含所需字符串的行的代码:
^.*(string).*$
另外,我要删除它并将它前面的文本删除为另一个字符串。
如果我可以用一条自定义线条替换所有文本和线条,那就太好了。
我尝试添加 .* 和 \r\n,但没有任何效果。
答案1
我找到了答案。它非常简单。
这行简单的代码满足了我的需求,也许对其他人也会有帮助。
(\string).*$
它将选择字符串后的所有内容,包括字符串
答案2
如果我理解你的问题,这个脚本回答了第一个问题。对于第二个问题,使用几乎相同的脚本并对两个文件运行 diff。
#!/bin/bash -
#
gawk '
# /pattern/ { action }
BEGIN { flag = 0 }
/^.*foo.*$/ { flag++ }
{
if (flag == 0)
print $0
}
' file
答案3
转到行。Ctrl-G。Ctrl
-H 进行搜索和替换。
在“查找”中输入 .*$。在“替换为”中输入空白选择正则表达式并选中“.匹配换行符”点击替换