-exec rm 여러 파일 찾기

-exec rm 여러 파일 찾기

find을(를) 사용하여 여러 파일을 검색 하고 을(를) 사용하여 모든 파일을 삭제하고 싶습니다 -exec. 나는 노력했다

find ./ -type f -name fileA -o -name fileB -exec rm {} \; 

그러나 이것은 fileAs가 아닌 "fileB" 파일만 삭제하는 것 같습니다.

답변1

-o액션에서도 작동하므로 항목을 그룹화해야 합니다.

find ./ -type f \( -name fileA -o -name fileB \) -exec rm {} \; 

그런데 find구현에서는 다음을 지원할 수도 있습니다 -delete.

find ./ -type f \( -name fileA -o -name fileB \) -delete 

답변2

또 다른 옵션:

 WARNING: it is possible that due to funny characters in directory names it is possible that unintended files might be deleted.

 find ./ -type f \( -name fileA -o -name fileB \) -print | xargs rm -f

또는 가능하다면 흥미로운 문자가 포함된 파일을 캡처하세요.

 NOTE: On some systems -print0 and -0 options are not available.  But this would be the preferred and safer method)

 find ./ -type f \( -name fileA -o -name fileB \) -print0 | xargs -0 rm -f

관련 정보