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이다.