Directory
如何僅對目錄使用定位
這會找到“Dropnot”的各個子目錄下的大量文件
$ locate Dropnot
我可以找到目錄位置
locate
嗎?(“Dropnot”在哪個目錄)所以如果
Dropnot
是 in/home/me/
,那是唯一返回的條目。如果是這樣,最簡單/最短的方法是什麼?
最好通過一個標誌或符號,而不是通過管道和 grep 等,但我會選擇任何東西。
也許某種 Dropnot$ 用於行尾?(但沒有工作)。
沒有
locate
用於查找所選文件類型(如目錄)的選項,但您可以使用問題中的語法 -Dropnot$
查找以Dropnot
. 為此,您必須使用-e
選項來定位以打開 POSIX 正則表達式。在這種情況下,您應該使用:
locate -e Dropnot$
重要的是您擁有什麼版本的定位。在我的系統(Gentoo Linux)中,我有安全定位:
$ locate --version Secure Locate 3.1 - Released March 7, 2006
答案中沒有
--basename
選項。uther
此選項由 GNU Locate 從 findutils 包中提供:$ ./locate --version locate (GNU findutils) 4.4.2
如果你想在 GNU Locate 中使用 regexp,你應該使用
-r
switch 來代替-e
。
我已經
mlocate
安裝了。它是 RedHat 分發的預設設置,因此它將在 Fedora、RHEL、CentOS 上。從man locate
-b, --basename Match only the base name against the specified patterns. This is the opposite of --wholename.
因此,如果您執行
locate -b '/Dropknot'
,它將僅報告具有該字元串的文件或目錄。