[英]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.