私はORを使用して出力をソートしようとしましたが、ツリーからよりtree
高いfind
ファイルよりも深いディレクトリにドリルダウンするたびに、最終的に同じ結果が得られました。私が望むのは、興味のあるディレクトリをluaテーブルに保存し、そのディレクトリをファイルサブテーブルのキーとして使用することです。
私はそれを使用していますtree -fi -noreport {Foo,Baz}
Foo
Foo/Foo.Build.cs
Foo/Private
Foo/Private/Foos
Foo/Private/Foos/Bars
Foo/Private/Foos/Bars/BaseBar.cpp
Foo/Private/Foo.cpp
Foo/Private/FOOPCH.h
Baz
Baz/Baz.Build.cs
私は結果が次のようになりたいと思います:
Foo
Foo/Foo.Build.cs
Foo/Private
Foo/Private/Foo.cpp
Foo/Private/FOOPCH.h
Foo/Private/Foos
Foo/Private/Foos/Bars
Foo/Private/Foos/Bars/BaseBar.cpp
Baz
Baz/Baz.Build.cs
tree fi -noreport {Foo,Baz} | sort -t '/'
動作しません。私はの解決策を試してみました。このスレッド、今すぐtree | awk '{print gsub("/","/"), $0}' | sort -n | cut -d' ' -f2-
。これにより、ディレクトリとファイルの関係が失われます。
ディレクトリの前に表示されるように同じ深さのファイルを並べ替えるにはどうすればよいですか?
答え1
まずディレクトリ名を表示してから、ファイル名に移動して表示します。
find . ! -name . -type d -print -exec sh -c 'find "$1" -maxdepth 1 ! -type d' {} {} \;