tree
一つある-d
オプションは " List directories only.
"です。。ただし、「ファイルのみ一覧表示」オプションが見つからないようです。マニュアルページを見ましたが、ファイルリストのみをリストするオプションが見つからないようです。
ベストアンサー1
他の人がコメントで述べたように、ディレクトリではなくリストをリストするだけでは、コマンドの目的に正確には合いませんtree
。
ただし、ファイルのみが一覧表示されます。現在のディレクトリにあなたが私のようにカスタマイズを使用することを好むならばtree
(ls
おそらくあなたが好むフラグとパラメータのエイリアスをls
使うかもしれませtree
ん)、これはまれではありません。
tree
との組み合わせを使用すると、必要なものをgrep
得ることができます。
$ tree -F
.
├── file1.txt
├── file5.txt
├── parent_dir1/
│ ├── child_dir/
│ ├── file2.txt
│ └── file3.txt
└── parent_dir2/
└── child_dir2/
└── file4.txt
4 directories, 4 files
$ tree -FL 1 | grep -v /$
.
├── file1.txt
├── file5.txt
2 directories, 1 file
「F」フラグを使用すると、「/ tree
」がディレクトリに追加され、「v」フラグはgrep
「/」で終わるすべての行に一致する指定されたパターンを反転します。
目次は実際には表示されませんが、最後の要約もまだ適用されることがわかります。
1つ以上のレベルを下回るとツリー構造が続き、状況が少し変になります。
$ tree -FL 3 | grep -v /$
.
├── file1.txt
├── file5.txt
│ ├── file2.txt
│ └── file3.txt
└── file4.txt
4 directories, 4 files
編集する
また、この破損したツリー出力が問題になる場合(たとえば、一部のファイルが「└─」文字の代わりに「├─」文字で始まり、マルチレベルバージョンが消えるように見える場合など)、まずこの問題を解決できます。出力ディレクトリをソートします。
$ tree --dirsfirst -FL 1 | grep -v /$
.
├── file1.txt
└── file5.txt
2 directories, 1 file
$ tree --dirsfirst -FL 3 | grep -v /$
.
│ ├── file2.txt
│ └── file3.txt
│ └── file4.txt
├── file1.txt
└── file5.txt
4 directories, 5 files
私はこれが実際にはノードレスツリー構造をより読みやすくすると思います。