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