![리눅스에서 확장자 없이 zip 파일을 대량 삭제하는 방법](https://rvso.com/image/1654367/%EB%A6%AC%EB%88%85%EC%8A%A4%EC%97%90%EC%84%9C%20%ED%99%95%EC%9E%A5%EC%9E%90%20%EC%97%86%EC%9D%B4%20zip%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%8C%80%EB%9F%89%20%EC%82%AD%EC%A0%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
다른 파일로 가득 차 있지만 확장자는 없는 폴더가 있습니다. zip 파일인 파일을 모두 삭제하려면 어떻게 해야 하나요?
답변1
내 쿠분투에서는 다음 명령을 실행합니다:
file -b --mime-type path/to/some/zip
보고:
application/zip
이를 사용하여 현재 디렉터리(하위 디렉터리 포함)에 있는 모든 zip 파일을 검색할 수 있습니다. 명령은 다음과 같습니다:
find . -type f -exec sh -c '
for f do
file -b --mime-type "$f" | grep -q "^application/zip$" && {
printf "%s\n" "$f"
# rm "$f"
}
done
' find-sh {} +
결과가 정상으로 보이면 주석 처리를 제거 rm "$f"
(delete #
)하여 실제로 파일을 제거하십시오.
노트:
의 휴대용 옵션
-b
도 마찬가지 입니다 . 지원하지 않는 경우 베어 프린트가 무엇인지 확인하십시오. 다음과 같을 수 있습니다:--mime-type
file
file
file path/to/some/zip
path/to/some/zip: Zip archive data, …
여기서는
…
추가 정보를 나타냅니다. 이 출력에 의존해야 하는 경우 내grep
명령은 다음과 같습니다.grep -q ": Zip archive data"
하지만 이름에 바로 이 문자열이 포함된 파일을 (아마도) 잘못 감지할 수도 있습니다. 어쨌든, 인쇄한
grep
내용에 맞게 조정하세요file
.find-sh
여기에 설명되어 있습니다 :의 두 번째 sh는 무엇입니까sh -c 'some shell code' sh
?이 명령은 파일 이름을 고려하지 않습니다(Linux에서는 "확장자"라고 부르는 것이 파일 이름의 일부일 뿐입니다). 제목("zip 파일을 대량 삭제하는 방법"이 아닌 게시물 본문에서 질문하신 질문("zip 파일인 모든 파일을 어떻게 삭제합니까?")에 대한 답변입니다.확장 없이").