仅当子字符串不是字符串的一部分时才获取匹配项

发布于 2024-11-18 09:15:26 字数 228 浏览 1 评论 0原文

你好,我实际上正在寻找一个字符串,它是另一个字符串的子字符串。因此,我使用 grep 来获取该字符串的匹配项,但另一个字符串的匹配项也会出现。

grep -nr 'XML' .

当我这样做时,字符串“LIBXMLX”的匹配也会出现。有没有办法只获取 XML 的匹配项而不获取 LIBXMLX 的匹配项?

我是 shell 脚本编写的新手,那么我该如何继续呢?

Hello I actually am looking for a string which is a substring of another string. So I am using grep to get the matches of this string, but the matches of the other string too are coming up.

grep -nr 'XML' .

when I do this, the matches for string "LIBXMLX" are also coming up. Is there a way to get matches only of XML and no LIBXMLX??

I am newbie to shell scripting, so how do I proceed with this?

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

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

发布评论

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

评论(3

唐婉 2024-11-25 09:15:26

来自手册

符号\<\>分别匹配单词开头和结尾的空字符串。

所以,

grep -nr '\<XML\>' .

From the manual

The symbols \< and \> respectively match the empty string at the beginning and end of a word.

So,

grep -nr '\<XML\>' .
愚人国度 2024-11-25 09:15:26

使用 -w 开关(精确单词匹配)。

Use the -w switch (exact word match).

梦幻的味道 2024-11-25 09:15:26

我知道这很混乱,但您可以使用“XML”作为搜索字符串,从而消除 X 之前没有空格的任何内容。只是一个想法。我与 grep 的交互很简单。

It's kludgey, I know, but you could use ' XML' as the search string, thereby eliminating anything that doesn't have a space before the X. Just a thought. My interactions with grep are simple.

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