GNU/Linux >> Linux の 問題 >  >> Linux

Unix検索コマンドからディレクトリのリストを除外しますか?

ディレクトリに存在するファイルのリストを作成する必要がありますが、除外するディレクトリのリストを含むファイルも渡す必要があります。

以下の提案を見ましたが、タイプフラグに関してはうまくいきませんでした:

find $dir_name $(printf "! -name %s " $(cat $exclude_file))

それを実行する方法はありますか、それともリスト全体を作成してから、除外ディレクトリ内のリストと部分的に一致するリストを削除する必要がありますか。

承認された回答:

あなたのexclude_file 名前ではなくパスが含まれているため、-pathを使用する必要があります そのエントリに一致します。一致するディレクトリのサブディレクトリを除外するには、-pruneも行う必要があります 彼ら。これは機能するはずです:

find . -type d \( $(printf -- "-path */%s -o " $(cat "$exclude_file")) -false \) -prune -o -print

ファイルのみを表示したい場合は、ファイルのみを印刷できます:

find . -type d \( $(printf -- "-path */%s -o " $(cat "$exclude_file")) -false \) -prune -o -type f -print

Linux
  1. Linux の「検索」コマンドのガイド

  2. find でディレクトリを除外する方法。指図

  3. ファイルのリストを検索から除外する

  1. ls コマンドからディレクトリを除外するにはどうすればよいですか

  2. システムから最近削除されたすべてのファイルを一覧表示する UNIX コマンドはありますか

  3. PID からコマンドを見つける

  1. Linuxでのコピーから特定のディレクトリを除外する方法

  2. 履歴リストからコマンドを除外する方法、しかしそれを「ライブ」履歴に保持する方法は?

  3. コマンドラインからストップワードリストを含むファイルで最も頻繁に使用されるN個の単語を検索しますか?