2010.09.01 13:56

(unix)shell script 어제 날짜 구하기

유닉스 계열중 Solaris, HP, AIX에서는 다음과 같이 하면 어제 날짜를 바로 구할수 있습니다.

 

TZ=KST+15;     UNIX는 Time Zone이라고 해서 지역별 시간대를 가지고 있습니다. 한국은 표준시에 대해서 TZ=KST-9 입니다. 하지만 하루전으로 가기 위해서는 24시간을 더해준답니다. 그래서 KST+15입니다.

DATE=`date +%Y%m%d`

여기서 날짜가 어제 날짜가 구해지는거죠.

echo $DATE

실질적으로 출력해보세요.

 

위를 간단하게 해보면

따라서 yesterday=`TZ=KST+15; date +%Y%m%d`  *주의 : 여기서 `는 명령어 수행을 나타내는 문자로 자판 1번 바로 왼쪽옆에 있는 문자입니다. 아시겠지만 주의하세요.

 

 

도움이 되시길 바랍니다.

 

Linux는 어제 날짜를 구하는 명령어가 따로 있습니다.

 

 

출처 : 지식in

 

============================================================================

 

 

 

오늘 날짜를 구하는 것

date +%Y%m%d

 

어제 날짜를 구하는 것

date +%Y%m%d -d '-1days'

또는

date +%Y%m%d --date '1 days ago'

 

 

쉽다.

물론 man date 보고 하면 좋다.

 

 

출처 : http://blog.naver.com/knight76/30022930265

Trackback 1 Comment 0
2010.09.01 13:55

(unix)shell script CASE문 예제

#!/bin/bash
while [ : ]
do
        echo
        echo -n "Press any key and hit Enter. To stop, enter @ : "
        read char
        case $char in
                "@"   ) break;;
               
[A-Z][A-Z][A-Z]
) echo "uppercase";;
                [0-9][0-9][0-9]
) echo "digit";;
                [a-z][a-z][a-z]
) echo "lowercase";;
                *     ) echo "other" ;;
        esac
done
exit 0

Trackback 0 Comment 0
2010.09.01 13:53

(unix)shell script 예제


/var/log/messages* 화일에서

aaa 라는 문자열이 들어간  행만 뽑아 화일1로 저장하고

그중 8번째 필드값만 추출하는데 데이타가 겹치는 경우가 있어  (중복된 값은 제거) 하고 

화일2로 저장

 

 

grep aaa /var/log/messages* >file1

awk '{print $8}' file1 | sort | uniq >file2

 

두개의 구문을 아래와 같이 한 줄로 실행할 수도 있습니다.

grep aaa /var/log/messages* | awk '{print $8}' | sort | uniq >file2

Trackback 0 Comment 0