Archives by date

You are browsing the site archives by date.

【Linux】xargsコマンドで標準出力以外を非出力にする。

ようは対象となるファイルにヒットしなかった場合、実行しなければよい。

例えばfindコマンドで見つけたファイルをrmコマンドで削除しようとしている場合。

find ./ -name 'target-file-name_*.txt' | xargs --no-run-if-empty rm

上記のように「–no-run-if-empty」オプションを付加してやれば良い。

 

【Linux】大量のファイルを一括削除する。

linuxにて誤って36万件ものファイルを生成してしまい、それをrmコマンドで一気に消そうとしたところ下記のようなエラーが帰ってきて怒られてしまった。

/bin/rm: Argument list too long

どうやらファイルの数が多すぎるため削除出来ないとの警告メッセージであるとのことが判明
これでは困るため、どうにかして削除出来ないか調べた結果findとxargsコマンドを組み合わせて消せることが判明。

find ./ -name 'target-file-name_*.txt' | xargs rm

※ファイル名は任意で変更されたし。

これでどれだけ膨大のファイルが指定ディレクトリに存在しようと、ごっそりと削除してくれる。