OSXでファイルを再帰的に一覧表示しますか?

OSXでファイルを再帰的に一覧表示しますか?

OSXのディレクトリとサブディレクトリにあるすべてのPDFファイルを見つけたいです。

たとえば、これは多くの結果を生成するため、サブディレクトリにいくつかのPDFがあることを知っています。

ls myfolder/pdfs/*.pdf

私のすべてのインターネット検索は私が望むものを示していますが、ls -R結果はありません。

ls -R *.pdf

私は何が間違っていましたか?

次のような結果があります。

ls -R | grep pdf

ただし、ファイルのフルパスを表示できないため、あまり役に立ちません。

ベストアンサー1

ls -R *.pdfls一致するコンテンツは再帰的に呼び出されます*.pdf(現在のディレクトリに一致するものがない場合は*.pdf結果が得られず、存在する場合はディレクトリがディレクトリの場合にのみその結果に再帰されます)。目的の結果ではなく、正規表現に一致するすべてを結果にls -R | grep pdf表示します。ls -Rpdf

これがあなたに必要なものです:

find myfolder -type f -name '*.pdf'

これにより、ファイル名がパターンと一致するディレクトリ-type f内または下にあるすべての一般ファイル()のパス名が提供されます。シェルからモードを保護するには、モードを引用する必要があります。myfolder*.pdf

zshシェル(最近のmacOSのデフォルトシェル)を使用する:

print -rC1 myfolder/**/*.pdf(.ND)

myfolderこれにより、名前で終わるディレクトリ内または下のすべての一般ファイルのパス名が単一の列に印刷されます。.pdf一致には隠された名前が含まれます。 glob修飾子のandはシェルのandシェルオプション設定に対応します(ただし、この単一のワイルドNカードパターンのみ)、ドットはパターンが通常のファイル(ディレクトリなどではない)とのみ一致するようにします。Dnullglobdotglobbash

おすすめ記事