쉘스크립트애들

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

혜룐 2015. 12. 3. 16:10



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




상황은
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"}'