ls -R
私の質問は、ls *.pdf
たとえばPDFファイルを再帰的に見つけるためにこれら2つの機能を1つにまとめるのはどうですか?もちろん他のものもあります。気になりました。ありがとう.pdf
ls
ls -R \*.pdf
find
ベストアンサー1
シェルは、これを現在の作業ディレクトリ内のすべての.pdfファイルに展開し、*.pdf
これを実行するためにサブディレクトリ内のすべての.pdfファイルを表示するために使用するコマンドとは無関係であるため、以下を有効にする必要があります。 shell(in)オプションを使用すると、現在の作業ディレクトリだけでなく、すべてのサブディレクトリで次のように検索または拡張できます。ls
*.pdf
bash
globstar
**
*.pdf
shopt -s globstar; ls -d -- **/*.pdf
また、を使用すると、ls -R \*.pdf
リテラルに一致する単一のファイルを検索します。*.pdf
ここでは、ファイルが実際にディレクトリでない限り、サブディレクトリを見つけることはでき-R
ません。サブディレクトリを再帰的に一覧表示*.pdf
するためにのみ使用されます。この組み合わせを使用して.pdfファイルをフィルタリングできls
ますgrep
。
ls -bR |grep '\.pdf$'
ただし、これはファイルのみを報告し、同じ終了パターンを持つディレクトリも報告することを保証しません。
まあ、あなたが言って知っているように、最良の方法はfind
コマンドを使用することです。
find . -type f -name '*.pdf'