TextMate 找到文本然后删除整行?
我将向您展示我想要使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
打开要过滤的文档后,
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]
建立在@doug 的答案之上
由于用户想要删除匹配后的行,因此使用正则表达式的解决方案是
匹配末尾的 \n 将删除该行
Building on top of @doug's answer
Since the user wants to delete the line after the match, the solution using Regex is
Matching the \n at the end will remove the line