.php, .xml 파일을 나열하고 삭제해야 합니다. 이를 위해 명령을 사용하고 있습니다 find
.
목록을 작성하려면:
find . -type f -name \*.php -print0
지우는 것 :
find . -type f -name \*.php -print0 | xargs -0 rm -r
두 번이나 달리는 동안 find
. 첫 번째 명령의 결과를 저장한 다음 두 번째 명령에서 다시 사용할 수 있습니까?
감사해요.
답변1
find . -type f -name '*.php' -print0 | tee list | tr \\0 \\n
xargs -r0 rm -f < list
이는 목록을 삭제하기로 결정하기 전에 목록을 보고 싶다고 가정한 것입니다. 그렇지 않은 경우 간단히 다음을 수행할 수 있습니다.
find . -name '*.php' -type f -print -delete
( -print0
, -delete
, -r
는 -0
표준은 아니지만 GNU 구현에서 지원됩니다)
또한 첫 번째 해결 방법에서는 상대적으로 안전하지만 누군가가 및 명령을 find -delete
실행하는 사이에 일부 민감한 영역에 대한 심볼릭 링크로 디렉터리 이름을 바꾸고 의도하지 않은 파일을 삭제하게 할 수 있다는 점에 유의하세요. 두 번 실행하면 두 번째로 실행하면 이를 피할 수 있습니다.find
xargs
find
-delete
답변2
파일이 필요하므로 .php
명령 은 다음과 같아야 합니다..xml
find
find . \( -name '*.php' -o -name '*.xml' \) -type f -print -exec rm {} +
파일 청크당 한 번만 사용하라는 지침 +
입니다 . 사용했다면 각 파일에 대해 하나의 명령을 실행했을 것입니다 .find
rm
\;
rm