Home

날짜처리_03 한 달 전에 만든 로그 파일을 일괄 아카이브 하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: date, tar 키워드: 전월, 월말 사용처: 오늘 날짜에서 지난달 년월표기(YYYYMM)를 조합해서 해당 날짜가 파일명에 있는 로그 파일을 아카이브하고 싶을 때 실행예제 $ ./lastmonth.sh /var/log/myapp/access.log-20130201 /var/log/myapp/access.log-20130218 /var/log/myapp/access.log-20130222 /var/log/myapp/access.log-20130228 스크립트 #!/bin/sh logdir="/var/log/mya...

Read more

날짜처리_02 오늘이 말일인지 판별하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: date 키워드: 월말 사용처: 오늘이 달의 마지막 날인지 스크립트에서 판정하고 싶을 때 실행예제 $ ./monthday.sh 월별 리포트 작성하는 외부 스크립트 실행 스크립트 #!/bin/sh tomorrow=$(date "+%d" -d '1 day') # ------ 1 if [ "$tomorrow" = "01" ]; then # -------- 2 # 오늘이 말일이라면 월별 리포트를 작성하는 외부 스크립트 실행 ./monthly_report.sh fi     해설 이 스크...

Read more

날짜처리_01 date 명령어로 두 날짜를 비교하고 날짜차를 구하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: date, expr 키워드: 날짜, UNIX 시간, 에포크 초 사용처: 시간 문자열 둘을 비교해서 몇일 차이인지 계산하고 싶을 때 실행예제 $ ./date-epoch.sh day1(2012/04/01 10:49:41): 1333244981 day2(2012/03/30 08:31:52): 1333063912 day interval: 2 스크립트 #!/bin/sh   # 비교할 두 날짜를 변수로 정의 day1="2012/04/01 10:49:41" #----------------------- 1 day2="2012/...

Read more

파일처리_27 sed로 파일 치환 심볼릭 링크를 실제 파일로 바꾸지 않게 하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: sed, readlink 키워드: 심볼릭 링크, 파일 치환, 실제 파일 사용처: sed 명령어 -i 옵션으로 심볼릭 링크를 대상으로 할 때 실행예제 $ ls -F orig/ sed-symlink.sh* target.txt@ #---------- 현재 디렉터리에 심볼릭 링크 target.txt@가 있고 orig/ 디렉터리에 실제 파일이 존재함 $ ls orig/ target.txt $ ./sed-symlink.sh $ ls -F orig/ sed-symlink.sh* target.txt@ $ ls -F orig/ targ...

Read more

파일처리_26 이중 실행이 가능한 임시 파일 작성하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: date, cat 키워드: 임시 파일, 프로세스 ID 사용처: 스크립트를 동시에 실행할 때 임시 파일이 중복되지 않도록 하고 싶을 때 실행예제 $ ./tmppid.sh Sat Dec 14 22:50:16 KST 2013 스크립트 #!/bin/sh tmpfile="tmp.$$" #---- 1 date > $tmpfile #----- 2 sleep 10 cat $tmpfile #-------- 3 rm -f $tmpfile     해설 이 스크립트는 프로그램에서 잠시 사용하는 임시 파일을 다룹니다. ...

Read more

파일처리_25 .svn 등 숨은 파일과 디렉터리만 나열하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: ls, case 키워드: 숨김 파일, 닷 파일 사용처: 숨김 파일만 대상으로 처리하고 싶을 때 실행예제 $ ./dotfile.sh dot file: .bashrc dot fiel: .cshrc dot directory: .svn/ 스크립트 #!/bin/sh # IFS에 줄바꿈 설정 IFS=' ' #----------------------------------------- 1 # 현재 디렉터리 아래에 있는 파일을 $filename으로 순서대로 처리 for filename in $(ls -AF) #---------...

Read more

파일처리_24 바이너리 파일에 포함된 문자열 열기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: strings, grep 키워드: 바이너리 파일, 검색, 실행 파일 사용처: 에러 메시지를 바탕으로 그 메시지를 출력하는 명령어를 찾고 싶을 때 실행예제 $ ./strings.sh /home/user1/myapp/bin/start: error: Unknown Error /home/user1/myapp/bin/kill: Unknown Error at %s /home/user1/myapp/bin/kill: Unknown Error at %s:%d 스크립트 #!/bin/sh # 검색할 에러 메시지 message="Un...

Read more