我有一长串的命令。使用notepad++或regex,我想删除所有包含“帮助”的行,包括keyboard_help等。
如何做到这一点呢?
我有一长串的命令。使用notepad++或regex,我想删除所有包含“帮助”的行,包括keyboard_help等。
如何做到这一点呢?
当前回答
如果你在Windows上,试试findstr。不需要第三方工具:
findstr /V /L "searchstring" inputfile.txt > outputfile.txt
它也支持正则表达式!只需阅读工具的帮助findstr /?
P.S.如果你想要处理巨大的文件(比如400 MB的日志文件),文本编辑器的内存效率不是很高,所以,就像有人已经指出的那样,命令行工具是最好的选择。但是Windows上没有grep,所以…
我刚刚在一个1gb的日志文件上运行了这个程序,实际上只花了3秒钟。
其他回答
你可以使用sed: sed '/help/ d' < inputFile > outputFile
grep的简单任务:
grep -v help filename
附加> newFileName将输出重定向到一个新文件。
更新
为了澄清这一点,正常的行为是将行打印在屏幕上。要将其输送到文件,可以使用>。因此,在这条命令中:
grep -v help filename > newFileName
显然,Grep调用Grep程序 -v是一个对输出求倒数的标志。默认情况下,grep打印与给定模式匹配的行。使用这个标志,它将打印与模式不匹配的行。 帮助是要匹配的模式 Filename是输入文件的名称 >将输出重定向到以下项 newFileName保存输出的新文件。
正如您可能注意到的,您将不会删除文件中的内容。Grep将读取它,并保存另一个文件,并相应地修改。
你必须分两步完成。
1. 将具有该模式的行添加为书签
按CTRL + M键。在“查找内容”文本框中,输入模式。然后选中标记为“书签行”的复选框。然后点击“标记全部”按钮。关闭对话框。
2. 删除那些书签行
按下alt+s(搜索)+b(搜索)+r。
你完成了。
使用正则表达式搜索:
^.*(help).*$
如果你在Windows上,试试findstr。不需要第三方工具:
findstr /V /L "searchstring" inputfile.txt > outputfile.txt
它也支持正则表达式!只需阅读工具的帮助findstr /?
P.S.如果你想要处理巨大的文件(比如400 MB的日志文件),文本编辑器的内存效率不是很高,所以,就像有人已经指出的那样,命令行工具是最好的选择。但是Windows上没有grep,所以…
我刚刚在一个1gb的日志文件上运行了这个程序,实际上只花了3秒钟。