例如我有一个目录:
/A/B/C/D/E/F/G.txt
不知道先验/E/F/G.txt
,我需要隔离那部分。为了便于举例:
echo '/A/B/C/D/E/F/G.txt' | grep -o '/A/B/C/D'
显示:
/A/B/C/D
但我想要:
/E/F/G.txt
和:
echo '/A/B/C/D/E/F/G.txt' | grep -o -v '/A/B/C/D'
我没有得到想要的输出(输出根本不存在)。
如何使用 获得所需的输出grep
,即不显示搜索词中的行部分grep
?
使用 PCRE 表达式,您可以指定一个模式,但可以使用以下命令将其从匹配中排除
\K
:但是,如果这实际上是针对文件和目录的,我建议
find
改用:或者,如果您真的想要前导斜杠:
从文档中
find
:使用
realpath
:(
-m
如果那不是真正的文件,则需要。)输出: