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
'bash script' 카테고리의 다른 글
[bash: head] 텍스트 파일의 앞 부분만 지정된 길이(바이트)만큼 가져오기 (0) | 2025.02.21 |
---|---|
[bash: awk] awk에서 조건에 따라 결과를 여러 파일로 저장하기 (0) | 2024.12.26 |
[bash: awk] awk에서 특수문자 검색하기 (1) | 2024.12.09 |
[bash: awk] awk에서 파일명 출력 (0) | 2024.11.23 |
[bash:sed] 특정 개수의 문자열만 대체하기(예를 들면 처음 2개 문자열) (0) | 2024.08.05 |