파이프라인에서 제공하는 파일 삭제

파이프라인에서 제공하는 파일 삭제

다음 명령 체인이 있습니다.

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에만 해당).

관련 정보