我有一个很长的命令文档。使用记事本++或regex,我想删除所有包含“帮助”的行,包括keyboard_help等。如何做到这一点?
fjnneemd1#
使用Notepad++也可以执行此操作:
fkaflof62#
在Notepad++中执行此操作的另一种方法是在“查找/替换”对话框中使用正则表达式:
Find what:
.*help.*\r?\n
\r
Replace with:
Replace All
help
kqqjbcuj3#
使用grep轻松完成任务:
grep
grep -v help filename
追加> newFileName以将输出重定向到新文件。
> newFileName
为了更清楚地说明这一点,通常的行为是在屏幕上打印这些行。要将其通过管道传输到一个文件,可以使用>。因此,在此命令中:
>
grep -v help filename > newFileName
1.显然,grep调用grep程序
-v
filename
newFileName
kninwzqo4#
使用正则表达式搜索:
^.*(help).*$
vohkndzv5#
您可以使用sed:sed '/help/ d' < inputFile > outputFile
sed '/help/ d' < inputFile > outputFile
j7dteeu86#
如果您使用的是Windows,请尝试findstr。不需要第三方工具:
findstr
findstr /V /L "searchstring" inputfile.txt > outputfile.txt
它也支持正则表达式!只需阅读工具的帮助findstr /?另外,如果你想处理很大的文件(比如400 MB的日志文件),文本编辑器不是很节省内存,所以,正如有人已经指出的,命令行工具是可行的。但是Windows上没有grep,所以...我只是在一个1 GB的日志文件上运行了这个程序,实际上花了3秒钟。
findstr /?
js81xvg67#
你必须分两步来做。
1.为具有该模式的行添加书签
按 CTRL + M 按钮。在查找内容文本框中,输入模式。然后选中标记为 * 书签行 * 的复选框。然后单击名为“* 全部标记 *"的按钮。关闭对话框。
2.删除那些书签行
按ALT + S(搜索)+ B(定位标记)+ R。按Enter。您已完成。
7条答案
按热度按时间fjnneemd1#
使用Notepad++也可以执行此操作:
fkaflof62#
在Notepad++中执行此操作的另一种方法是在“查找/替换”对话框中使用正则表达式:
Find what:
文本框中包含正则表达式:.*help.*\r?\n
(如果文件没有Windows行尾,则\r
是可选的)。Replace with:
文本框保留为空。Replace All
,瞧!所有包含搜索词help
的行都被删除了。kqqjbcuj3#
使用
grep
轻松完成任务:追加
> newFileName
以将输出重定向到新文件。更新
为了更清楚地说明这一点,通常的行为是在屏幕上打印这些行。要将其通过管道传输到一个文件,可以使用
>
。因此,在此命令中:1.显然,
grep
调用grep
程序-v
是反转输出的标志。默认情况下,grep
打印与给定模式匹配的行。使用此标志,它将打印 * 不 * 与模式匹配的行。help
是要匹配的模式filename
是输入文件的名称>
将输出重定向到以下项newFileName
将保存输出的新文件。正如你可能注意到的,你不会删除你的文件中的东西。
grep
将读取它,另一个文件将被保存,相应地修改。kninwzqo4#
使用正则表达式搜索:
vohkndzv5#
您可以使用sed:
sed '/help/ d' < inputFile > outputFile
j7dteeu86#
如果您使用的是Windows,请尝试
findstr
。不需要第三方工具:它也支持正则表达式!只需阅读工具的帮助
findstr /?
另外,如果你想处理很大的文件(比如400 MB的日志文件),文本编辑器不是很节省内存,所以,正如有人已经指出的,命令行工具是可行的。但是Windows上没有grep,所以...
我只是在一个1 GB的日志文件上运行了这个程序,实际上花了3秒钟。
js81xvg67#
你必须分两步来做。
1.为具有该模式的行添加书签
按 CTRL + M 按钮。在查找内容文本框中,输入模式。然后选中标记为 * 书签行 * 的复选框。然后单击名为“* 全部标记 *"的按钮。关闭对话框。
2.删除那些书签行
按ALT + S(搜索)+ B(定位标记)+ R。按Enter。
您已完成。