本文介绍了如何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 slash
  • superman - a word
  • ($|/) - end of string or a slash.

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

08-04 17:32