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

发布于 2024-09-12 18:43:09 字数 232 浏览 8 评论 0原文

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

假设我们有以下文档:

foo  
diddy
  bah
foo
foobah
diddy

我想查找并删除与 bah 匹配的所有行,即本例中所需的输出会是:

foo
diddy
foo
diddy

谢谢!

I'll show you what I want to do using a textmate command or bundle:

Lets say we have the following document:

foo  
diddy
  bah
foo
foobah
diddy

I want to find and delete all the lines matching bah, the desired ouput in this case would be:

foo
diddy
foo
diddy

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

羁绊已千年 2024-09-19 18:43:09

打开要过滤的文档后,

  • Cmd-F 调出Finder
    窗口

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

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

    <强>^ 。 *?呸。 *? $

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

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

就是这样。


这是执行相同操作的更自动化的方法:

  • 从菜单栏中选择过滤器
    通过来自文本的命令

    下拉菜单

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

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

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

  • 单击执行

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

With the document you want to filter open,

  • Cmd-F to bring up the Finder
    window

  • Next, below the two text-entry boxes,
    click Regular Expression

  • In the Find text box, type in
    this regexp (without the spaces):

    ^ . * ? bah . * ? $

  • In the Replace text box, do not type
    in anything--make sure it blank,
    i.e., no whitespace characters

  • With the cursor at the beginning of
    the document you want to filter,
    click one of the buttons at the
    bottom of the Find Window--e.g.,
    Replace All to remove all of the matching lines in one step, or
    Replace and Find to step through the lines one at a time

That's it.


Here's a more automated way to do the same thing:

  • from the Menu Bar, select Filter
    Through Command
    from the Text
    pull-down menu

  • enter this into the text box at the
    top of the small window that appears:

    sed ' / ^ . * bah . * $ / d '

  • select Document as Input and select
    Replace Document as Output

  • Click Execute

[Note: i inserted spaces between the regexp tokens in both examples because for some reason the asterisks '' were not rendering in HTML page]

丢了幸福的猪 2024-09-19 18:43:09

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

^ . * ? bah . * ? $\n

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

Building on top of @doug's answer
Since the user wants to delete the line after the match, the solution using Regex is

^ . * ? bah . * ? $\n

Matching the \n at the end will remove the line

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文