텍스트처리_01 ID가 적힌 목록 파일에서 ID를 추출할 때 ID 끝 문자로 정렬하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: rev, sort
키워드: 끝 문자, 정렬, ID 목록
사용처: ID 목록 파일의 끝 문자 순서대로 정렬하여 처리하고 싶을 때
실행예제
$ cat id.lst #-------- 순서가 엉망인 ID 목록 파일
PPX0_2
AN39_9
UIA5_3
BA06_7
QXD3_0
$ ./revsort.sh id.lst #-------- 끝 문자(숫자)로 정렬
QXD3_0
PPX0_2
UIA5_3
BA06_7
AN39_9
스크립트
#!/bin/sh
# 임시 파일 지정
tmpfile="sort.lst"
# 대상 ID 파일...
날짜처리_04 윤년인지 확인하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: expr, test, ls
키워드: 윤년, 나머지
사용처: 2월 말에 작성된 로그 파일을 선택하고 싶을 때
실행예제
$ ./leapyear.sh
leap year: 2012
/var/log/myapp/access.log-20120229
스크립트
#!/bin/sh
# 네 자리 년도 얻기
year=$(date '+%Y') #--------------------------------------- 1
logfile="/var/log/myapp/access.log-"
# 년도를 나눈 나머지 계산
mod1=$(expr...
날짜처리_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...
날짜처리_02 오늘이 말일인지 판별하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: date
키워드: 월말
사용처: 오늘이 달의 마지막 날인지 스크립트에서 판정하고 싶을 때
실행예제
$ ./monthday.sh 월별 리포트 작성하는 외부 스크립트 실행
스크립트
#!/bin/sh
tomorrow=$(date "+%d" -d '1 day') # ------ 1
if [ "$tomorrow" = "01" ]; then # -------- 2
# 오늘이 말일이라면 월별 리포트를 작성하는 외부 스크립트 실행
./monthly_report.sh
fi
해설
이 스크...
날짜처리_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/...
파일처리_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...
파일처리_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
해설
이 스크립트는 프로그램에서 잠시 사용하는 임시 파일을 다룹니다. ...
197 post articles, 29 pages.