bash script2025. 3. 25. 23:08

find 명령으로 파일을 찾을 때, 파일 크기를 조건으로 골라낼 수 있다. -size 옵션을 추가하면 된다. 예를 들어 ~/ 디렉토리와 그 하위 디렉토리에서 크기가 100바이트인 파일만 골라내려면 아래와 같이 할 수 있다.

# 크기 100바이트인 파일
find ~/ -type f -size 100c

만약 100바이트보다 큰 파일을 찾고 싶으면 아래와 같이 하면 된다. 즉, 101바이트 이상의 파일만 골라내려면 아래와 같이 하면 되겠다.

# 크기가 100바이트 초과(101바이트 이상)인 파일
find ~/ -type f -size +100c

반대로 100바이트보다 작은 파일은 아래와 같이 찾을 수 있다.

# 크기가 100바이트 미만(99바이트 이하)인 파일
find ~/ -type f -size -100c

kB(킬로바이트) 단위로 하려면 위의 예시에서 "c" 대신 "k"를 사용하자.

# 크기가 100kB인 파일
find ~/ -type f -size 100k

메가바이트 단위는 "M", 기가 바이트 단위는 "G"를 사용하면 된다.

# 크기가 1MB보다 큰 파일
find ~/ -type f -size +1M

# 크기가 1GB보다 큰 파일
find ~/ -type f -size +1G

한가지 유의할 점은 k, M, G 단위를 사용할 경우 크다/작다를 해당 단위를 기준으로 한다는 점이다. 특정 크기보다 큰 파일 찾는 경우는 별 문제가 없는데, 특정 크기보다 작은 파일을 찾을 경우에는 k, M, G 단위는 의미가 없다. 예를 들어 10kB보다 작은 파일을 찾고 싶다면 -size -10k 이런식으로 하면 안되고 바이트 단위로, 즉 아래와 같이 지정해야 한다.

# 크기가 10kB보다 작은 파일
find ~/ -type f -size -10240c

 

728x90
Posted by 반달가면