複数のアップデートを配信する方法! -検索するパスパラメータ

複数のアップデートを配信する方法! -検索するパスパラメータ

findを使用して検索するときに無視したいディレクトリ/ファイルのリストを含むファイルがあります。次のようになります。

.git
.vim
config
.vimrc
.bashrc

このリストは完全ではなく、必要な数のアイテムを含めることができます。 .を使用するときにこれらのファイル/ディレクトリをどのように無視できますかfind

これを試しましたが、find . -type f ! -path ...動的リストをパラメータとして渡すことはできません。

ベストアンサー1

拡張正規表現(BSD、GNU)をサポートする実装では、find次のことができます。-regex-E -regex-regextype posix-extended -regex

find . -regextype posix-extended -regex "\./($(
  sed 's@[][\\|^$.*+?{}()]@\\&@g' < list | paste -sd '|' -))" -prune -o \( \
    -type f -print \)

これは、これらのファイル/ディレクトリとその中にあるすべてのファイル/サブディレクトリを除外findします-prune

..\..*

おすすめ記事