【问题标题】:Get the matches only if the substring is not part of a string仅当子字符串不是字符串的一部分时才获取匹配项
【发布时间】:2011-09-27 00:06:45
【问题描述】:

您好,我实际上正在寻找一个字符串,它是另一个字符串的子字符串。所以我正在使用 grep 来获取这个字符串的匹配项,但是另一个字符串的匹配项也即将到来。

grep -nr 'XML' .

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

我是 shell 脚本的新手,那么我该如何进行呢?

【问题讨论】:

    标签: bash grep pattern-matching string-matching


    【解决方案1】:

    来自手册

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

    所以,

    grep -nr '\<XML\>' .
    

    【讨论】:

      【解决方案2】:

      使用-w 开关(完全匹配)。

      【讨论】:

      • grep -wnr 'XML' . 当我再次使用它时,我得到了所有这些结果!
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2016-12-21
        • 1970-01-01
        • 2013-02-11
        • 1970-01-01
        • 2021-03-11
        • 1970-01-01
        • 2014-11-18
        • 2021-10-31
        • 2017-08-09
        相关资源
        最近更新 更多