我正在尝试使用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命令从我的工作目录中查找所有以'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