簡體   English   中英

查找按目錄順序列出命令的結果

[英]find command listing results in directory order

我正在嘗試使用find命令從我的工作目錄中查找所有文件'M *'並按目錄順序顯示結果。

而是繼續按排序的順序顯示結果,這會導致一些更深的目錄被首先列出,因為它們是按字母順序排列的。

$ find -name 'M*'
./MyFourth
./s/MyFirst
./s/v/b/MyThird
./s/v/MySecond

我希望它是這樣的:

./MyFourth
./s/MyFirst
./s/v/MySecond
./s/v/b/MyThird

謝謝你的幫助

如果我正確理解“目錄順序”的含義,則應該會有所幫助:

find -name 'M*' -printf '%p\t%d\n' | sort -n -k2 | cut -f 1

它在目錄樹中打印按文件深度排序的文件。

$ find . -name 'M*' | awk -F/ '{print NF,$0}' | sort -k1,1n -k2 | cut -d' ' -f 2-
./MyFourth
./s/MyFirst
./s/v/MySecond
./s/v/b/MyThird

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM