如何使用grep在TextWrangler中搜索精确的单词匹配
可以在TextWrangler中使用grep进行搜索 我想查找并替换以下单词:如何使用grep在TextWrangler中搜索精确的单词匹配,grep,textwrangler,Grep,Textwrangler,可以在TextWrangler中使用grep进行搜索 我想查找并替换以下单词:bauvol,但不是bauvolumen。 我尝试在搜索字段中键入^bauvol$,但没有成功,它没有找到任何东西,尽管这个词显然在那里 我想这是因为,在grep中,^和$表示行的开始和结束,而不是一个单词 使用grep的-w选项(参见grep)。 此选项将表达式搜索为单词 因此,命令将是: cat file.txt | grep -w bauvol 是的,^和$用于行的开始和结束。您想使用\b作为单词边界,如@gr
bauvol
,但不是bauvolumen
。
我尝试在搜索字段中键入^bauvol$
,但没有成功,它没有找到任何东西,尽管这个词显然在那里
我想这是因为,在grep中,^
和$
表示行的开始和结束,而不是一个单词 使用grep的-w选项(参见grep)。
此选项将表达式搜索为单词
因此,命令将是:
cat file.txt | grep -w bauvol
是的,
^
和$
用于行的开始和结束。您想使用\b
作为单词边界,如@gromi08所述:
\bbauvol\b
如果要复制该单词的任何部分(以便替换、修改、更改大小写等),通常最好将其包装在(
和)
大括号中,以便在替换框中引用它们:
Find:
(\bbauvol\b)
Replace:
<some_tag>\1</some_tag>
查找:
(\bbauvol\b)
替换:
\1
一旦发现结果,您是否有任何具体的处理方法(剪切、复制等)?好的,但我正在寻找在TextWrangler中使用grep。有什么想法吗?我没有TextWrangler,但可能
grep'\bbauvol\b'
会做这项工作。让我知道是否有,我会编辑答案。好的,很好,这很有效。我只是想替换它。\b
是一个grep特定的标志吗?或者它是RegEx?\b
是一个正则表达式,你可以告诉我们使用命令行grep
以及TextWrangler的内置grep
进行编辑。如果打开TextWrangler用户手册(帮助->用户手册),在137页的下方显示其他有用的内容,如\A
(文档/文件的开头)、\B
(与\B
相反,因此任何内容都不是文字边界),\Z
和\Z
(文档末尾,特别考虑最后一行之前的任何额外换行)。