Home

텍스트처리_04 입력 파일 해시값을 줄마다 추가해서 출력하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: paste, md5sum, read, awk 키워드: 해시, 페이스트, 컬럼 사용처: 파일에서 입력값을 읽어서 줄마다 해시값을 계산해서 CSV 파일에 출력하고 싶을 때 실행예제 $ cat data.txt abcdefg password 123456 $ ./paste.sh data.txt abcdefg,7ac66c0f148de9519b8bd264312c4d64 password,5f4dcc3b5aa765d61d8327deb882cf99 123456,e10adc3949ba59abbe56e057f20f883e 스크립트 #!...

Read more

텍스트처리_03 파일 앞머리의 셔뱅(shebang, "#!/bin/sh" 등)을 추출해서 스크립트에 따라 확장자 붙이기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: head, mv 키워드: 셔뱅, shebang, 확장자, 첫줄 사용처: 확장자가 없는 스크립트 파일에 자동으로 확장자를 부여하고 싶을 때 실행예제 $ ./shebang.sh script 'script' -> 'script.sh' $ ./shebang.sh sample1 'sample1' -> 'sample1.pl' 스크립트 #!/bin/sh # 대상 스크립트 파일이 있는지 확인 if [ ! -f "$1" ]; then echo "지정한 파일을 찾지 못했습니다: $1" >&2 ...

Read more

텍스트처리_02 텍스트 파일에서 구분자를 지정해서 컬럼 추출하기

출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어 명령어: env, grep, cut 키워드: 환경 변수, 분리자, 컬럼 사용처: 설정된 환경 변수 목록을 얻어서 어떤 변수명이 정의되어 있는지 확인하고 싶을 때 실행예제 $ ./env.sh #----------- 환경 변수 TMPVAR가 없으면 start.sh가 실행되지 않음 TMPVAR is null $ export TMPVAR=1 #---- 환경 변수 TMPVAR 설정 $ ./env.sh TMPVAR is 1 [START] start.sh 스크립트 #!/bin/sh # 미리 설정하지 않으면 에러가 발생하는 환경 변...

Read more

텍스트처리_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 파일...

Read more

날짜처리_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...

Read more

날짜처리_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