find
를 사용하여 여러 파일을 검색하고 모두 삭제하고 싶습니다. -exec
사용.
find ./ -type f -name fileA -o -name fileB -exec rm {} \;
시도했지만 fileAs가 아닌 “fileB”파일 만 제거하는 것 같습니다.
댓글
답변
-o
도 작업에 적용되므로 다음 항목을 그룹화해야합니다.
find ./ -type f \( -name fileA -o -name fileB \) -exec rm {} \;
BTW, find
구현은 -delete
도 지원할 수 있습니다.
find ./ -type f \( -name fileA -o -name fileB \) -delete
댓글
- 그렇지 않으면 '
-exec rm {} +
답변
다른 대안 :
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
댓글
- 거의 1 년 후 파일 이름에 대한 메모를 추가하기 위해 '의 헌신을 추가하는 방법이 마음에 듭니다. : D
rm
('는 시도하지만 실패합니다. ).