31

我正在使用 textmate 来编辑文件。我想删除所有不包含单词的行。这是一个例子。

apple ipad
hp touch pad
samsung galaxy tab
motorola xoom

如何删除所有不包含单词“pad”的行,并使用正则表达式得到这个结果?

apple ipad
hp touch pad

谢谢大家。

4

3 回答 3

60

替换^(?!.*pad.*).+$为空字符串

于 2011-08-11T10:33:41.497 回答
5

我不确定使用正则表达式来做这种事情,但你可以很容易地使用 grep 来做到这一点。

例如,如果文件textfile包含以下内容:

apple ipad
hp touch pad
samsung galaxy tab
motorola xoom

打开终端,然后运行以下命令:

grep pad textfile

它会输出这个:

apple ipad
hp touch pad

如果要将输出保存到文件中,可以执行以下操作:

grep pad textfile > filteredfile
于 2011-08-11T10:38:07.537 回答
2

此表达式将选择包含 word pad 的行: ^.*pad.*$

^字符表示一行的开始,字符$表示结束,并且.*允许在单词周围有任意数量的字符。

在当前状态下,这对于您的目的而言可能过于广泛 - 需要更具体的信息。

于 2011-08-11T10:38:58.430 回答