正则表达式:删除包含的行
我有一个很长的命令文档。 使用notepad ++或regex,我想删除所有包含“帮助”的行,包括keyboard_help等。
如何才能做到这一点?
Notepad ++也可以这样做
"Mark"
选项卡。 选中"Bookmark line"
(如果当前版本没有"Mark"
标签更新)。
输入您的搜索字词并点击"Mark All"
现在进入菜单"Search -> Bookmark -> Remove Bookmarked lines"
完成。
在Notepad ++中执行此操作的另一种方法是使用“查找/替换”对话框和正则表达式:
Ctrl + h弹出查找替换对话框。
在Find what:
文本框中包含您的正则表达式: .*help.*r?n
(其中r
在文件没有Windows行尾时是可选的)。
将Replace with:
文本框留空。
确保选择搜索模式区域中的正则表达式单选按钮。 然后点击Replace All
,瞧! 包含搜索字词help
所有行都已被删除。
使用grep
轻松完成任务:
grep -v help filename
附加> newFileName
将输出重定向到新文件。
更新
为了澄清它,正常行为将在屏幕上打印行。 要将其管道化为文件,可以使用>
。 因此,在这个命令中:
grep -v help filename > newFileName
grep
调用grep
程序 -v
是反转输出的标志。 通过defaulf, grep
打印与给定模式匹配的行。 有了这个标志,它将打印出与模式不匹配的行。 help
是匹配的模式 filename
是输入文件的名称 >
将输出重定向到以下项目 newFileName
输出将被保存的新文件。 正如你可能注意到的那样,你不会删除文件中的东西。 grep
会读取它,另一个文件将被保存,并进行相应的修改。