現在のディレクトリのサブディレクトリを一覧表示する正しい方法はありますか?

現在のディレクトリのサブディレクトリを一覧表示する正しい方法はありますか?

以下では、ディレクトリのサブディレクトリを見つけることができます。

ls -d -- */

または

ls -l | grep "^d"

しかし、どちらも間接的なようです。ディレクトリを見つける標準的な方法があると思います。正しい方法がありますか?そうでない場合、これらのうちの1つが極端な場合に誤動作につながる可能性がありますか? (シンボリックリンク、隠しディレクトリなど)

ベストアンサー1

答えはあなたの意図に依存します~と一緒にあなたが探しているものの代わりに出力します。視覚的な参照のために端末でリストを見たい場合は、最初の解決策は実際にはかなり良いです。出力を処理するには、他の方法を使用することを検討する必要があります。

他のプログラムにリストを入力する最も安定した方法の1つはを使用することですfind

find -maxdepth 1 -type d

これがフィードにとって良い理由は、ヌルでfind区切られたデータを出力するために使用できるか、または-print0適切にエスケープされた文字列を他のプログラムの引数として使用するために使用できるためです-exec。これがlsの出力を解析するよりも良い理由については、以下を参照してください。LS分析Gregのウィキペディアで。

おすすめ記事