如何让grep显示一行忽略我想要的单词?

如何让grep显示一行忽略我想要的单词?,grep,pwd,Grep,Pwd,我正在尝试将grep与pwd命令一起使用 因此,如果我输入pwd,它会显示如下内容: /home/hrq/my-project/ 但是,对于我正在制作的脚本,我需要将它与grep一起使用,因此它只打印hrq/之后的内容,因此我需要始终隐藏我的主文件夹(/home/hrq/)摘录,并且只显示向前的内容(例如,在本例中,仅显示我的项目) 可能吗 我试过类似的东西 pwd | grep-ov'home',因为我看到“-v”标志将等效于NOT运算符,并将其与仅匹配“-o”的标志相结合。但是它不起作用。

我正在尝试将grep与
pwd
命令一起使用

因此,如果我输入
pwd
,它会显示如下内容:

/home/hrq/my-project/
但是,对于我正在制作的脚本,我需要将它与grep一起使用,因此它只打印
hrq/
之后的内容,因此我需要始终隐藏我的主文件夹(
/home/hrq/
)摘录,并且只显示向前的内容(例如,在本例中,仅显示
我的项目

可能吗

我试过类似的东西


pwd | grep-ov'home'
,因为我看到“-v”标志将等效于NOT运算符,并将其与仅匹配“-o”的标志相结合。但是它不起作用。

使用
grep-Po'hrq/\K.*.
,例如:

grep -Po 'hrq/\K.*' <<< '/home/hrq/my-project/'
my-project/

grep-Po'hrq/\K.'使用
grep-Po'hrq/\K.'
,例如:

grep -Po 'hrq/\K.*' <<< '/home/hrq/my-project/'
my-project/
grep-Po'hrq/\K.'给定:

根据您真正想要做的事情,这两个选项中的任何一个都可能是您真正应该使用的,而不是尝试使用grep:

$ basename "$PWD"
tmp

$ echo "${PWD#/home/foo/}"
tmp
鉴于:

根据您真正想要做的事情,这两个选项中的任何一个都可能是您真正应该使用的,而不是尝试使用grep:

$ basename "$PWD"
tmp

$ echo "${PWD#/home/foo/}"
tmp

尝试
awk
而不是
grep
pwd | sed's,.*hrq/,'
你想用它做什么?可能有更好的方法。这听起来很像。用尾随的
/
输出你的
pwd
?尝试
awk
,而不是
grep
pwd | sed's,.*hrq/,'
你想用它做什么?可能有更好的方法。这听起来很像。用一个尾随的
/
输出你的
pwd