如何grep带有斜杠的确切字符串? [英] How to grep an exact string with slash in it?

查看:45
本文介绍了如何grep带有斜杠的确切字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在运行macOS.

I'm running macOS.

有以下字符串:

/超人

/superman1

/superman1

/superman/batman

/superman2/batman

/superman2/batman

/超人/女超人

/superman3/wonderwoman

/superman3/wonderwoman

/batman/superman

/batman/superman1

/batman/superman1

/wonderwoman/superman

/wonderwoman/superman2

/wonderwoman/superman2

我只想粗体显示单词.

我认为执行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 slash
  • superman - a word
  • ($|/) - end of string or a slash.

这篇关于如何grep带有斜杠的确切字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆