有没有办法获取正在搜索的文件的绝对路径?
例如:
find .. -name "filename"
它给了我类似的结果../filename
,但我想要完整的路径。
我需要的是在父目录及其子目录中找到一个特定的文件,稍后我会在另一个脚本中使用它。
谢谢
答案1
您可以bash
使用波浪号扩展获取当前工作目录的绝对路径,这种方式find
也会打印结果的绝对路径:
find ~+ -type f -name "filename"
如果在执行~/Desktop
,则扩展为
find /home/yourusername/Desktop -type f -name "filename"
并打印如下结果:
/home/yourusername/Desktop/filename
如果你想将此方法与当前工作目录一起使用父母cd
调用之前需要的目录find
:
cd .. && find ~+ -type f -name "filename"
答案2
尝试以下方法:
find "$(cd ..; pwd)" -name "filename"
答案3
最简单的方法是
find "$(pwd -P)" -name "filename"
答案4
这对我有用,但只会返回第一次出现的情况。
realpath $(find . -type f -name filename -print -quit)
获取所有出现的完整路径(如 Sergiy Kolodyazhnyy 所建议的)
find . -type f -name filename -print0 | xargs -0 realpath