我有一个很长的命令文件 . 使用记事本或正则表达式,我想删除包含“帮助”的所有行,包括keyboard_help等 .
如何才能做到这一点?
使用记事本也可以这样做
转到搜索菜单Ctrl F并打开 "Mark" 选项卡 .
"Mark"
检查 "Bookmark line" (如果当前版本没有 "Mark" 标签更新) .
"Bookmark line"
输入搜索字词,然后点击 "Mark All"
"Mark All"
包含搜索词的所有行都有书签 .
现在转到菜单 "Search -> Bookmark -> Remove Bookmarked lines"
"Search -> Bookmark -> Remove Bookmarked lines"
完成 .
在记事本中执行此操作的另一种方法是在“查找/替换”对话框中使用正则表达式:
Ctrl h打开查找替换对话框 .
在 Find what: 文本框中包含正则表达式: .*help.*\r?\n (其中 \r 是可选的,以防文件没有Windows行结尾) .
Find what:
.*help.*\r?\n
\r
将 Replace with: 文本框保留为空 .
Replace with:
确保选中“搜索模式”区域中的“正则表达式”单选按钮 . 然后单击 Replace All 并瞧!包含搜索字词 help 的所有行都已删除 .
Replace All
help
使用 grep 轻松完成任务:
grep
grep -v help filename
附加 > newFileName 以将输出重定向到新文件 .
> newFileName
为了澄清它,正常的行为是在屏幕上打印线条 . 要将其传送到文件,可以使用 > . 因此,在此命令中:
>
grep -v help filename > newFileName
显然,
grep 调用 grep 程序
-v 是反转输出的标志 . 通过defaulf, grep 打印与给定模式匹配的行 . 使用此标志,它将打印与模式不匹配的行 .
-v
help 是要匹配的模式
filename 是输入文件的名称
filename
> 将输出重定向到以下项目
newFileName 将保存输出的新文件 .
newFileName
您可能已经注意到,您不会删除文件中的内容 . grep 将读取它,另一个文件将被保存,相应地进行修改 .
您可以使用sed执行此操作: sed '/help/ d' < inputFile > outputFile
sed '/help/ d' < inputFile > outputFile
如果你是 on Windows 试试 findstr ,则不需要第三方工具:
findstr
findstr /V /L "searchstring" inputfile.txt > outputfile.txt
它支持正则表达式's too! Just read the tool'的帮助 findstr /?
findstr /?
附:如果你想使用大的,巨大的文件(比如400mb日志文件),文本编辑器的内存效率不是很高,因此,正如有人已经指出的那样,命令行工具是可行的方法 . 但窗户上没有油灰,所以......
只需在1GB的日志文件上运行它,它就花了3秒钟 .
使用正则表达式搜索:
^.*(help).*$
6 回答
使用记事本也可以这样做
转到搜索菜单Ctrl F并打开
"Mark"
选项卡 .检查
"Bookmark line"
(如果当前版本没有"Mark"
标签更新) .输入搜索字词,然后点击
"Mark All"
包含搜索词的所有行都有书签 .
现在转到菜单
"Search -> Bookmark -> Remove Bookmarked lines"
完成 .
在记事本中执行此操作的另一种方法是在“查找/替换”对话框中使用正则表达式:
Ctrl h打开查找替换对话框 .
在
Find what:
文本框中包含正则表达式:.*help.*\r?\n
(其中\r
是可选的,以防文件没有Windows行结尾) .将
Replace with:
文本框保留为空 .确保选中“搜索模式”区域中的“正则表达式”单选按钮 . 然后单击
Replace All
并瞧!包含搜索字词help
的所有行都已删除 .使用
grep
轻松完成任务:附加
> newFileName
以将输出重定向到新文件 .更新
为了澄清它,正常的行为是在屏幕上打印线条 . 要将其传送到文件,可以使用
>
. 因此,在此命令中:显然,
grep
调用grep
程序-v
是反转输出的标志 . 通过defaulf,grep
打印与给定模式匹配的行 . 使用此标志,它将打印与模式不匹配的行 .help
是要匹配的模式filename
是输入文件的名称>
将输出重定向到以下项目newFileName
将保存输出的新文件 .您可能已经注意到,您不会删除文件中的内容 .
grep
将读取它,另一个文件将被保存,相应地进行修改 .您可以使用sed执行此操作:
sed '/help/ d' < inputFile > outputFile
如果你是 on Windows 试试
findstr
,则不需要第三方工具:它支持正则表达式's too! Just read the tool'的帮助
findstr /?
附:如果你想使用大的,巨大的文件(比如400mb日志文件),文本编辑器的内存效率不是很高,因此,正如有人已经指出的那样,命令行工具是可行的方法 . 但窗户上没有油灰,所以......
只需在1GB的日志文件上运行它,它就花了3秒钟 .
使用正则表达式搜索:
^.*(help).*$