![我如何通过仅提供路径的一部分来找到路径?](https://linux22.com/image/1367230/%E6%88%91%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E4%BB%85%E6%8F%90%E4%BE%9B%E8%B7%AF%E5%BE%84%E7%9A%84%E4%B8%80%E9%83%A8%E5%88%86%E6%9D%A5%E6%89%BE%E5%88%B0%E8%B7%AF%E5%BE%84%EF%BC%9F.png)
假设我需要找到此路径/<some_where_in_root>/find/this/path
,而我唯一拥有的信息是/find/this/path
。找到完整目录的最佳方法是什么?
我基本上有一个创建目录的程序,在创建目录之后,我想查看创建的目录中是否存在路径。
到目前为止,我已经尝试过了,find . -type d -name "/find/this/path"
但这显然被解释/find/this/path
为一个字符串。在这种情况下,有什么办法可以使用 find 吗?最好只是解析我拥有的路径并取出该path
部分并对该字符串进行搜索吗?
答案1
您需要使用-path
或-ipath
通配符
find . -type d -ipath "*/find/this/path"
答案2
谓词-path
(及其不区分大小写的变体-ipath
)将允许您在整个树中搜索该精确的文本。
答案3
执行这两个命令,方法1:
root@developer~:# updatedb
root@developer~:# locate /find/this/path
方法2:
root@developer~:# tree |grep /find/this/path
结果将包含 /find/this/path 的完整路径
也可以尝试从/运行这些
root@developer~:# cd /
root@developer~:/#updatedb
root@developer~:/#locate /find/this/path
root@developer~:/#tree |grep /find/this/path
答案4
适用于各种口味尼克斯:
applemcg.$ find / -type d -name this | grep find/this/path
当寻求帮助时,这里有一些建议。在第一次引用此类路径时,请在前面加上“目录”一词,如“目录路径”。花了一分钟才意识到您不是指(csh)路径或 PATH 变量。