Linux
在子目錄中查找路徑目錄
我想找到
bbb
父目錄呼叫的目錄名稱的路徑aaa
例如
/aaa/bbb /tmp/aaa/bbb /usr/bin/aaa/bbb /home/aaa/bbb /home/aaa/xxx/bbb
所以我寫了這樣的東西:
find /*/aaa -name bbb
在某些平台上它可以工作,而在某些平台上它沒有,並且在任何情況下
/aaa/bbb
都找不到,因為沒有父目錄aaa
我想我可以跑
find / -name bbb | grep \/aaa
,但我想如果有更聰明的東西..?
在這種情況下使用
-path
選項:find / -type d -path '*/aaa/bbb'
從查找的手冊頁中:
文件名與外殼模式模式匹配。元字元不處理
/
或.
特殊處理;所以,例如,find . -path "./sr*sc"
將為名為 `./src/misc’ 的目錄列印一個條目(如果存在)。
跨平台兼容性
您沒有指定
find
您使用的是哪個版本,以上資訊適用於 GNU find。但是,手冊頁還指定,謂詞 -path 也受 HP-UX find 支持,並將在即將發布的 POSIX 標準版本中。
所以它看起來
-path
可以在 HP-UX 中使用,但不能在 AIX 中使用(至少不是 AIX 7.1,截至 2015 年 8 月 24 日的最新版本)。