单词后整个grep

时间:2013-12-05 01:20:03

标签: linux sed awk grep

匹配后获取所有内容的grep命令是什么? 例如,在文件路径上:

/home/usr/we/This/is/the/file/path

我希望输出为

/we/This/is/the/File/Path

匹配/我们作为正则表达式。

3 个答案:

答案 0 :(得分:2)

grep -o做你想做的事。

grep -o '/we.*'

答案 1 :(得分:1)

YourInput | sed 's|/home/usr\(/we.*\)|\1|'

假设它始终(并且仅)以/ home / usr开头 其他

YourInput | sed -n 's|^.*\(/we.*\)||p'

仅返回包含/ we的行,并在/we

之前删除文本

答案 2 :(得分:1)

OP喜欢使用we作为触发器。使用awk

awk -F/ '{for (i=1;i<=NF;i++) {if ($i~/we/) f=1;if (f) printf "/%s",$i}print ""}' file
/we/This/is/the/file/path

使用gnu awk

awk '{print gensub(/.*(\/we)/,"\\1","g")}' file
/we/This/is/the/file/path