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

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

find とは思わない このようなオプションがあり、 printf を使用してコマンドを作成できます および除外リスト:

find /dir -name "*.gz" $(printf "! -name %s " $(cat skip_files))

これは次のことと同じです:

find /dir -name "*.gz" ! -name first_skip ! -name second_skip .... etc

または、 find からパイプすることもできます grep に :

find /dir -name "*.gz" | grep -vFf skip_files

これは、結果からいくつかのファイルを削除するために通常行うことです (この場合、すべてのテキスト ファイルを探しましたが、あちこちにある valgrind memcheck レポートの束には興味がありませんでした):

find . -type f -name '*.txt' ! -name '*mem*.txt'

うまくいっているようです。


Linux
  1. 検索でディレクトリを除外しますか?

  2. Rsyncからすべてのドットアンダースコアファイルを除外しますか?

  3. ターミナルでマスクごとにすべてのファイルのリストを取得しますか?

  1. Rm -rfから一部のファイルを除外することは可能ですか?

  2. スペースを含むファイルのリストを反復処理する

  3. 検索ですべてのグラフィック イメージ ファイルを一覧表示しますか?

  1. 特定の拡張子を持つファイルを再帰的に見つける

  2. 指定したファイルサイズより大きいファイルを一覧表示する

  3. ファイルのテキストリストからの Linux (mv または cp) 固有のファイル?