find を使用してディレクトリ内のすべてのファイルを一覧表示します。

find を使用してディレクトリ内のすべてのファイルを一覧表示します。

1行のコマンドを使用して、指定された各ディレクトリ(またはサブディレクトリ)を見つけて、binその下のすべてのファイルのリストを印刷しようとしています。ただし、その下にあるディレクトリ名も印刷しません。

これを達成するためにいくつかの異なる方法を試しましたが、これまで何も効果がありませんでした。

  1. find ~ -type d -name "bin" -exec ls '{}' ';' | grep -v /

これをテストしましたが、ファイルが一覧表示されましたが、binの下のすべてのディレクトリも一覧表示されました。したがって、私のディレクトリの下に次のサブディレクトリがある場合binbin

~/home/
   ~/home/bin
      file1.txt
      ~/home/bin/bin
         file2.txt

出力は次のとおりです。

bin
file1.txt
file2.txt
  1. find ~ -type d -name "bin" -exec ls -f '{}' ';'

ls -fこれはファイルだけがリストされていることを読みましたが、残念ながらディレクトリもリストされますbin...

ではどうすればいいですか?

ベストアンサー1

を使用するには、-path以下を試してください。

find ~ -path '*/bin/*' -type f

これはそれ自体リストされていないので、両方をbin取得するには、次の手順を実行します。

find ~ \( -path '*/bin/*' -type f \) -o \( -name bin -type d \)

おすすめ記事