TextMate找到文本然后删除整行?

时间:2010-07-29 23:36:06

标签: textmate textmatebundles

我将使用textmate命令或捆绑包向您展示我想要做的事情:

假设我们有以下文件:

foo  
diddy
  bah
foo
foobah
diddy

我想查找并删除与bah匹配的所有行,在这种情况下,所需的输出为:

foo
diddy
foo
diddy

谢谢!

2 个答案:

答案 0 :(得分:9)

要将要过滤的文档打开,

  • Cmd-F调出 Finder 窗口

  • 接下来,在两个文本输入框下方, 单击正则表达式

  • 查找 文本框中,输入 这个正则表达式(没有空格):

    ^。 *?呸。 *? $

  • 替换文本框中,请勿键入 在任何事情 - 确保它是空白的, 即,没有空格字符

  • 光标位于开头 要过滤的文档, 单击其中一个按钮 查找窗口的底部 - 例如, 全部替换以在一个步骤中删除所有匹配的行,或 替换并查找以逐步浏览一行

就是这样。


这是一种更自动化的方式来做同样的事情:

    从菜单栏中选择
  • ,选择过滤器 通过 Text 中的Command 下拉菜单

  • 将其输入到文本框中 出现的小窗口顶部:

    sed'/ ^。 *呸。 * $ / d'

  • 选择Document作为输入并选择 将文档替换为输出

  • 点击执行

[注意:我在两个示例中的正则表达式标记之间插入了空格,因为出于某种原因,星号“”未在HTML页面中呈现]

答案 1 :(得分:0)

建立在@doug的答案之上 由于用户想要在匹配后删除该行,因此使用Regex的解决方案是

^ . * ? bah . * ? $\n

匹配末尾的\ n将删除行