特定の名前のファイルが複数のディレクトリに存在することを確認する

特定の名前のファイルが複数のディレクトリに存在することを確認する

私はLinuxを初めて使用しますが、これが可能かどうかを知りたいです。ディレクトリにファイル名のサフィックスが付いたファイルがあるかどうかを確認したいと思います。.bam確認するディレクトリは何百ものあります。私はこれを手動で実行したくありません。したがって、すべてのディレクトリを確認して出力することは可能ですか?そのファイルのリストがありません

ベストアンサー1

存在するzsh

if ()(($#)) **/*.bam(ND.Y1)); then
  print There is at least one regular file in here whose name ends in .bam
fi
directories_without_bam=(
  **/*(ND/^e['()(($#)) $REPLY/*.bam(ND.Y1)'])
)

if (( $#directories_without_bam )); then
  print "Directories without bam files:"
  printf ' - %s\n' $directories_without_bam
fi

現在の作業ディレクトリ()自体は見ておらず、.その下にあるディレクトリだけを見てください。変更も考慮されます**/*。 ){.,**/*}.

おすすめ記事