특정 디렉터리 내에 특정 파일들이 차지하는 총 용량을 구하려고 한다.
방법
- du 명령
du -ch <FILE>
# -c : --total. 총합 계산
현재 디렉터리의 python 코드의 총 용량을 계산한다.
- 특정 파일들을 찾은 후, 용량의 총합을 계산
find <PATH> -type f | grep <FLIE_PATTERN> | xargs ls -l | awk '{ result += $5 } END { print result }'
# 예시
find ./* -type f | grep py$ | xargs ls -l | awk '{ result += $5 } END { print result }'
계산 과정
- 특정 디렉터리에서 특정 파일 찾기
- 해당 파일의 상세 정보 확인
xargs 명령어는 파이프 이전의 명령어를 인자로 받아 지정된 명령어를 실행한다.
- 파일 용량의 값을 더한 후, 그 결과값을 출력
awk 명령어는 파일로부터 레코드를 선택하고, 그 값을 조작하거나 데이터화하는 데 사용한다.
여기서는 ls -l 출력문의 용량에 해당하는 5번째 필드를 result라는 변수에 누적한 뒤, 그 결과를 출력한다.
1716 + 766 + 2093 = 4575이므로, 파일의 총합을 정상적으로 계산한 것을 알 수 있다. 참고로 단위는 byte이다.