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

すべてのサブディレクトリで一致するファイルを削除します

現在のディレクトリの下にあるすべての *.swp ファイルを削除し、find を使用します 次のいずれかの形式のコマンド:

  • find . -name \*.swp -type f -delete

    -delete オプションは、find が一致するファイルを直接削除することを意味します。これは、OPの実際の質問に最適です。

    -type f の使用 find はファイルのみを処理することを意味します。

  • find . -name \*.swp -type f -exec rm -f {} \;
    find . -name \*.swp -type f -exec rm -f {} +

    オプション -exec find がファイルごとに任意のコマンドを実行できるようにします。最初のバリアントはファイルごとに 1 回コマンドを実行し、2 番目のバリアントは {} を置き換えることで可能な限り少ないコマンドを実行します。 できるだけ多くのパラメーターを使用します。

  • find . -name \*.swp -type f -print0 | xargs -0 rm -f

    出力を xargs にパイプする -exec よりも複雑なファイルごとのコマンドから使用されます .オプション -print0 find を伝える 改行の代わりに ASCII NULL でマッチを区切り、-0 xargs に伝えます NULL で区切られた入力を期待します。これにより、空白を含むファイル名に対してパイプ構造が安全になります。

man find を参照 詳細と例については、


find . -name '*.swp' -delete

ファイル名に埋め込まれたスペースのリスクを削除自体を見つけることで、...セキュリティを強化するために -type f を追加することも検討してください ファイルのみ。


find /path -type f -name "*.swp" -delete
find /path -type f -name "*.swp" -exec rm -f "{}" +;

バッシュ 4.0

shopt -s globstar
rm -f /path/**/*.swp

Linux
  1. 検索で特定のサブディレクトリを除くすべてのファイルを削除しますか?

  2. 文字列を含む名前のすべてのファイルを検索

  3. /var/log をすべて削除しますか?

  1. 検索を使用して特定のディレクトリを検索し、1つのディレクトリを除くその中のすべてのファイルを削除しますか?

  2. Linux ですべてのスパース ファイルを見つける方法

  3. Linuxでパーティションのすべてのファイルを一覧表示する方法は?

  1. bash のすべてのサブディレクトリにあるすべてのファイルを gzip する方法

  2. ディレクトリおよびサブディレクトリ内のすべてのゼロバイト ファイルを検索する

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