19

Linux で、すべてのフォルダー/サブフォルダー名を調べて、テキスト ファイルにリダイレクトしたい

試し ls -alR > list.txtましたが、すべてのファイルとフォルダーが表示されます

4

3 に答える 3

53

使用できますfind

find . -type d > output.txt

またtree

tree -d > output.txt

tree、システムにインストールされていない場合。

使用している場合ubuntu

sudo apt-get install tree

を使用している場合mac os

brew install tree
于 2013-02-12T07:42:58.200 に答える
9
find . -type d > list.txt

現在のパスの下にあるすべてのディレクトリとサブディレクトリを一覧表示します。現在のパス以外のパスの下にあるすべてのディレクトリを一覧表示する場合は、.を別のパスに変更します。

特定のディレクトリを除外したい場合は、否定的な条件でそれらを除外できます:

find . -type d ! -name "~snapshot" > list.txt
于 2013-02-12T07:42:50.380 に答える
3

他の回答にリストされているだけでなくfind、より優れたシェルでは、再帰的なグロブとグロブ一致のフィルタリングの両方が許可されているためzsh、たとえば...

ls -lad **/*(/)

...必要なすべての「-l」の詳細を保持しながら、すべてのディレクトリを一覧表示します。それ以外の場合は、次のようなものを使用して再作成する必要があります...

find . -type d -exec ls -ld {} \;

(他の回答が示唆するほど簡単ではありません)

find の利点は、シェルからより独立していることですsystem()。C/C++ プログラムなどからの呼び出しであっても、移植性が高くなります。

于 2013-02-12T08:53:44.703 に答える