本文介绍了如何grep一个带有斜杠的精确字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我运行的是 macOS.
I'm running macOS.
有以下字符串:
/超人
/超人1
/超人/蝙蝠侠
/superman2/蝙蝠侠
/superman2/batman
/超人/神奇女侠
/superman3/wonderwoman
/superman3/wonderwoman
/蝙蝠侠/超人
/batman/superman1
/batman/superman1
/神奇女侠/超人
/wonderwoman/superman2
/wonderwoman/superman2
我只想 grep 粗体字.
I want to grep only the bolded words.
我认为执行 grep -wr 'superman//superman' 会产生所有这些,但它只产生/superman.
I figured doing grep -wr 'superman/|/superman' would yield all of them, but it only yields /superman.
知道怎么做吗?
推荐答案
您可以使用
grep -E '(^|/)superman($|/)' file
查看在线演示:
s="/superman
/superman1
/superman/batman
/superman2/batman
/superman/wonderwoman
/superman3/wonderwoman
/batman/superman
/batman/superman1
/wonderwoman/superman
/wonderwoman/superman2"
grep -E '(^|/)superman($|/)' <<< "$s"
输出:
/superman
/superman/batman
/superman/wonderwoman
/batman/superman
/wonderwoman/superman
模式匹配
(^|/)
- 字符串或斜线的开头超人
——一个字($|/)
- 字符串结尾或斜线.
(^|/)
- start of string or a slashsuperman
- a word($|/)
- end of string or a slash.
这篇关于如何grep一个带有斜杠的精确字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!