크기와 확장자로 파일을 검색하는 방법은 무엇입니까?

크기와 확장자로 파일을 검색하는 방법은 무엇입니까?

디렉터리와 모든 하위 디렉터리에서 특정 확장자를 가진 빈 파일을 모두 제거하고 싶습니다.

답변1

각 파일을 삭제한 후 확인하여 다음을 시도할 수 있습니다.

$ find /path/to/dir -type f -name "*.txt" -empty -ok rm {} \;

또는 좀 더 자신감이 생긴다면:

$ find /path/to/dir -type f -name "*.txt" -empty -exec rm {} \;

답변2

일반적으로 "디렉터리 및 해당 하위 디렉터리에서..."에 대한 대답에는 일반 파일 일치, 특정 확장자 제한 및 빈 파일 제한에 대한 find.-type f-name '*.ext'-size 0

find /some/dir -name '*.ext' -type f -size 0 -exec rm {} +

버전이 find너무 오래된 경우 ... -exec rm {} \;를 대신 사용할 수 있습니다( 한 번에 많은 파일을 호출 +하므로 사용하는 것이 더 빠릅니다 ). rmLinux, FreeBSD, NetBSD 및 OSX에서는 find기본 제공 작업 -delete-empty조건자( -size 0일반 파일과 동일)를 사용할 수 있습니다.

find /some/dir -name '*.ext' -type f -empty -delete

zsh에서는 **glob을 사용하여 하위 디렉터리로 재귀할 수 있으며글로벌 예선.크기가 0( )인 일반 파일( ) 로 일치를 제한합니다 L0.

rm /some/dir/**/*.ext(.L0)

관련 정보