Sublime - 删除包含特定值的所有行

ene*_*ser 106 sublimetext sublimetext3

我有一个900mb日志文件,我可以在SublimeText 3中打开.这个文件是膨胀的线条类似于以下.

10/08/2014 23:45:31:828,Information,,,,ExportManager: ,No records to send and/or not connected

如何过滤掉包含的所有行 No records to send and/or not connected

Jon*_*ino 211

您可以执行正则表达式搜索和替换:

单击查找>替换.

确保按下正则表达式按钮.

对于查找内容字段,请输入:

^.*No records to send and/or not connected.*\n
Run Code Online (Sandbox Code Playgroud)

将"替换为"字段留空.

单击全部替换

  • 最后的句号/句号很重要,没有它,它将无法工作.或者,您可以使用:`^.*没有要发送和/或没有连接的记录\ S.*$` (15认同)

Leo*_*sov 58

对于不想编写正则表达式的人 - 您只需选择搜索字符串,点击ctrl+cmd+g或从菜单中选择"快速查找全部",这将为您提供每个匹配字符串的选择; 从那里Home将每个选择光标移动到行的开头,shift+End将选择每个匹配的行,del, del并将删除所有这些.

多光标编辑很有趣!

  • 这是一个非常有用的更通用的提示.我的目标是删除包含字符串的所有行.我最终选择了一个实例,然后使用快捷键"Ctrl + Cmd + G"使用"QuickFind",因为Leonid建议选择所有这些字符串.在此之后,我可以直接进入"删除行"`Ctrl-Shift-K`,并且通过手术将所有带有该字符串的行立即删除.Sublime Text真的是我用过的最好的文本编辑器. (4认同)
  • 您还可以使用cmd + L将选择范围扩展到行. (4认同)

den*_*ufa 44

我无法使正则表达式工作所以我从这个答案中使用了Alt-F3方法:

https://superuser.com/questions/452189/how-can-i-filter-a-file-for-lines-containing-a-string-in-sublime-text-2/598999#598999

  1. 选择感兴趣的字符串
  2. 点击Alt+ F3进入所有事件的多光标模式(Mac OS X上Ctrl+ CMD+ G)
  3. 点击Ctrl+ L[查看评论](在Mac上为Cmd+ L)
  4. 复制粘贴选择到另一个缓冲区
  5. Del

  • 您可以用`CTRL + L`替换步骤3和4,它将选择扩展为整行,包括换行符. (4认同)
  • 两件事:(1)您可以[链接到这样的个别答案](http://superuser.com/questions/452189/how-can-i-filter-a-file-for-lines-containing-a- string-in-sublime-text-2/598999#598999)(2)你应该在这里总结另一个答案(并酌情专门回答这个问题). (2认同)
  • 对于像我这样被MAC键方案诅咒的人:`Ctrl + Cmd + G`用于所有出现的多光标,`Cmd + L`用于扩展行,以及通常的复制/粘贴 (2认同)

小智 21

这是我为Windows用户找到的:

  1. 选择字符串(要删除包含此字符串的每一行).
  2. 按ALT + F3.
  3. 按Ctrl + L.
  4. 按删除.


小智 20

上面提到的正则表达式代码都没有在我的情况下工作,但这确实有效:

.*(text in question).*
Run Code Online (Sandbox Code Playgroud)


小智 11

一个简单的方法是:

  • 1 打开 Sublime Text
  • 2 查找 => 替换(Ctrl + H)
  • 3.在Find中写入想要的文字
  • 4 单击查找全部
  • 5 按 ctrl + shift + K 删除存在此搜索的所有行

这是删除某些包含文本的行的快速解决方案