パイプラインが提供するファイルの削除

パイプラインが提供するファイルの削除

次のコマンドチェーンがあります。

find . -print | grep php | xargs grep 'eval' -sl | xargs wc -l | grep ' [1-2][0-9] '

これは私に次のような結果を与えます:

 14 ./includes/js/calendar/lang/vgju.php
 18 ./includes/phpInputFilter/default.php
 14 ./includes/Archive/eula.php
 18 ./media/system/js/json.php

ファイルは感染したPHPファイルですが、チェーンを使用して削除したいと思います。どうすればいいですか?

ベストアンサー1

|xargs rm -ffindコマンドを使用してこれらの操作をすべて実行できますが、そのコマンドに追加するだけです。

これはその姿です。

find . -print | grep php | xargs grep 'eval' -sl | \
    xargs wc -l | grep ' [1-2][0-9] ' | \
    cut -f 2 -d ' ' | xargs rm -f

xargs rmファイル名に特殊文字がないことがわかっているので、ここでコマンドが機能します。ファイル名に空白がある場合は機能しますxargs -d '\n' rm -f(Linuxのみ)。

おすすめ記事