2

我将向您展示我想要使用 textmate 命令或捆绑包执行的操作:

假设我们有以下文件:

foo  
diddy
  bah
foo
foobah
diddy

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

foo
diddy
foo
diddy

谢谢!

4

2 回答 2

11

打开要过滤的文档,

  • Cmd-F 调出Finder 窗口

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

  • Find文本框中,键入此正则表达式(不带空格):

    ^ . * ? 呸。* ? $

  • 替换文本框中,不要输入任何内容——确保它为空白,即没有空格字符

  • 将光标放在要过滤的文档的开头,单击“查找”窗口底部的按钮之一 - 例如, 替换全部以一步删除所有匹配行,或 替换并查找以逐步完成一行一行

就是这样。


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

  • 从菜单栏中,从文本 下拉菜单中选择通过命令过滤

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

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

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

  • 单击执行

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

于 2010-07-30T10:24:42.983 回答
2

建立在@doug的回答之上由于用户想在比赛后删除该行,因此使用正则表达式的解决方案是

^ . * ? bah . * ? $\n

匹配末尾的 \n 将删除该行

于 2017-06-21T01:00:33.383 回答