본문 바로가기
쉘스크립트애들

쉘스크립트로 로그파일에 임의의 필드값을 더해 총갯수를 구하기

by 혜룐 2015. 12. 3.



쉘스크립트로 로그파일에 임의의 필드값을 더해 총갯수를 구하는 스크립트를 작성하려한다.




상황은
1)아래처럼 생긴로그파일에 3번째 위치한 값의 합을 구하고 싶은 경우
- 로그파일
a 1:1 100
c 1:2 99
d 1:2 10
b 1:2 11


- 스크립트
#!/bin/bash
RES=`cat /tmp/appLogs/log/20150116.log | awk '{size += $3} END {print"Total:"size"개수"}'`
echo $RES



2) 특정 디렉터리에 파일들의 총 사이즈를 구하고 싶은 경우
size=0
find / -name core -type f -exec ls -l {} \; | while read line
do
set $line
size=`expr $size + $5`
done
echo "size is : $size Bytes"
또는
find / -name core -exec du -sk {} \; | awk '{size +=$1} END {print"Total:"size" KB"}'