2009. 10. 21. 17:12

12. 파일 개수 비교해서 삭제하는 스크립트

같은 디렉토리에 쌓이는 파일 개수를 count 해서 특정한 값
이상이 되면 예전 파일 부터 삭제하는 스크립트


#!/bin/bash
DIR=$PWD
ls -l | grep PFX_COUNT | wc -l > A.txt
A=`cat $DIR/A.txt`
echo $A

if [ $A -lt 3 ]
then
echo "Count is low"
else
echo "Count is high"
        ls -lt | grep PFX_COUNT > $DIR/imsy.txt
        sed '1,3d' $DIR/imsy.txt | awk '{print $9}' > $DIR/imsy2.txt
        cat $DIR/imsy2.txt
                for test in `cat $DIR/imsy2.txt`
                do
                rm -rf $test
                done
fi
rm -rf $DIR/imsy.txt
rm -rf $DIR/imsy2.txt
rm -rf $DIR/A.txt

(1) ls -l | grep PFX_COUNT | wc -l > A.txt 

DIR 위치에 있는 파일들 중에서 PFX_COUNT 란 이름을 가진 파일들의 개수를 A.txt 에 저장

(2) A=`cat $DIR/A.txt`
A라는 변수에 그 개수를 저장

(3) if [ $A -lt 3 ]
만약 그 값이 3 보다 작다면 바로 아래 라인으로 이동해서 그 다음 명령 수행
만약 3보다 크면 else 밑의 명령들을 수행

(4)         ls -lt | grep PFX_COUNT > $DIR/imsy.txt
        sed '1,3d' $DIR/imsy.txt | awk '{print $9}' > $DIR/imsy2.txt
        cat $DIR/imsy2.txt

PFX_COUNT 가 포함된 파일의 리스트를 imsy2.txt 에 저장

(5)            for test in `cat $DIR/imsy2.txt`
                do
                rm -rf $test
                done

for 문으로 돌리면서 삭제해준다.

(6) 기타 임시txt 파일들을 삭제함