複雑なディレクトリ構造のすべてのファイルを取得するシェルコマンドを探しています。複雑なディレクトリ構造とは、150以上のサブフォルダを持つルートフォルダを意味し、各サブフォルダには少なくとも3つのサブフォルダがあります。
答え1
これは些細なことです:
find /directory -type f
答え2
〜のように@michael-hamptonが提案しました find
行く道です。しかし、より多くの説明が必要です。このオプションは-type
複数の値を持つことができます。マニュアルページ(man find
)を参照してください。簡単な定義は次のとおりです。
一般ファイルのみを探している場合:
find <path> -type f
ディレクトリ外の項目を探している場合:
find <path> ! -type d
一般的なファイルとシンボリックリンクを探している場合:
find <path> -type f -o -type l
(以前のコマンドは通常のORリンクを見つけました。)
答え3
find
同様に有効です。しかし、zshell()を使用している場合zsh
:
ファイルにのみ適用されます。
ls -al path/**/*(.)
次のディレクトリにのみ適用されます。
ls -al path/**/*(/)
man zshexpn
より多くの例については参考資料を参照してください。特に「glob qualifier」部分です。
答え4
最も簡単なこと
ls -R directory_name