我正在尝试使用find命令从我的工作目录中查找所有文件'M*'并按目录顺序显示结果.
相反,它会按排序顺序显示结果,这会导致首先列出一些更深的目录,因为它们按字母顺序依次排列.
$ find -name 'M*'
./MyFourth
./s/MyFirst
./s/v/b/MyThird
./s/v/MySecond
Run Code Online (Sandbox Code Playgroud)
我希望它按此顺序:
./MyFourth
./s/MyFirst
./s/v/MySecond
./s/v/b/MyThird
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助
如果我正确理解“目录顺序”的含义,这应该有所帮助:
find -name 'M*' -printf '%p\t%d\n' | sort -n -k2 | cut -f 1
Run Code Online (Sandbox Code Playgroud)
它打印按目录树深度排序的文件。