我有以下命令:
locate -br '^test.sh$'
输出是:
/home/cas/scripts/test.sh
我想要没有文件名的路径。所以我做了以下从输出中删除 test.sh :
locate -br '^test.sh$' | grep -v test.sh
我预计输出是:
/home/cas/scripts/
但相反,我只是没有得到输出。当我按下回车键时,我没有得到任何输出,它只是等待下一个命令。见下图
没有任何输出。我什至试图反转-grep 一些不同的东西,'cas',但它不会给出任何输出。看起来grep -v
只是行不通。但是正常的 grep(所以不倒置)确实有效。为什么它不起作用?或者有没有更好的方法可以从任何地方找到文件的路径,但输出中没有文件名(目标是 get /home/cas/scripts/
)?
实际上
grep -v PATTERN
返回所有不包含的行PATTERN
,这就是它给你一个空输出的原因。以下内容可能对您有用: