作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何将/
作为word和grep精确匹配的一部分?
$ echo "aa/bb/cc dd/ee/ff" | grep -w aa/bb
aa/bb/cc dd/ee/ff
$
我想让grep把整个字符串无一异常(exception)地匹配到/
。在上面的示例中,我不希望它匹配 aa/bb/cc
字符串,而是仅在有任何 aa/bb
预期产出:
$ echo "aa/bb/cc dd/ee/ff" | grep <options??> aa/bb
$ <empty>
$ echo "aa/bb dd/ee/ff" | grep <options??> aa/bb
aa/bb dd/ee/ff
$ echo "kk/ll aa/bb dd/ee/ff" | grep <options??> aa/bb
kk/ll aa/bb dd/ee/ff
$ echo "kk/ll dd/ee/ff aa/bb" | grep <options??> aa/bb
kk/ll dd/ee/ff aa/bb
$ echo "kk/ll dd/ee/ff aa/bb/cc" | grep <options??> aa/bb
$ <empty>
$ echo "kk/ll dd/ee/ff a-aa/bb" | grep <options??> aa/bb
$ <empty>
最佳答案
grep
方法:
echo "aa/bb/cc aa/bb dd/ee/ff" | grep -P '(?:^|\s)aa/bb(?=\s|$)'
aa/bb/cc aa/bb dd/ee/ff
echo "aa/bb/cc aa/bb dd/ee/ff" | grep -P '(?:^|\s)aa/bb(?=\s|$)'
<empty>
-P
- perl 正则表达式(?:^|\s)aa/bb(?=\s|$)
:
(?:^|\s)
- 非捕获组,交替组匹配字符串 ^
或空白字符 \s 的开头
aa/bb
- 按字面匹配 aa/bb
序列(?=\s|$)
- 前瞻肯定断言包含交替组以匹配空白字符 \s
或字符串结尾 $
关于bash - grep 字符串,包括正斜杠作为单词的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49369046/
我是一名优秀的程序员,十分优秀!