텍스트처리_13 sed로 HTML 파일 속성을 바꿀 때 슬래시 이스케이프 피하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: sed
키워드: 슬래시, 이스케이프
사용처: sed 명령어로 /를 포함한 문자열을 치환할 때 일일이 이스케이프하고 싶지 않을 때
실행예제
$ ./sed-slash.sh
화면에 아무것도 표시되디 않지만 HTML 파일에 있는 /img가 /images/로 치환됨
스크립트
#!/bin/sh
# 출력 디렉터리 정의
outdir="newdir"
# 출력 디렉터리 존재 확인. 없으면 에러 종료
if [ ! -f "$outdir" ]; then #---------------------------------------- 1(i...
텍스트처리_12 웹 접속 로그에서 파일별 접속 횟수 집계하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: awk, sort, uniq
키워드: 접속 로그, 로그 분석, 페이지 뷰
사용처: 아파치 접속 로그에서 페이지 뷰를 집계하고 싶을 때
실행예제
$ cat access.log
xx.xx.xx.xx - - [06/Jan/2014:05:58:35 +0900] "GET / HTTP/1.1" 200 83 "-" "-"
yy.yy.yy.yy - - [06/Jan/2014:06:01:43 +0900] "GET /index.html HTTP/1.1" 200 304
yy.yy.yy.yy - - [06/Jan/2014:06:01:44 +0900]...
텍스트처리_11 시스템 로그에서 IP 주소마다 횟수 집계하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: sed, sort, uniq
키워드: SSH, 부정 접속, 인증 실패, 로그 추출
사용처: sshd 로그 파일에서 암호 인증에 실패한 IP 주소를 세고 싶을 때
실행예제
# ./ssh-fail.sh
15 10.211.55.2
6 10.211.55.21
2 10.211.55.18
접속해온 IP 주소마다 ssh 암호 인증에 실패한 횟수가 많은 순서로 표시
스크립트
#!/bin/sh
# sshd 로그 파일
securelog="/var/log/secure"
# IP 주소를 추출하기 위한 패턴. 변수에 저장
p...
텍스트처리_10 웹 서버 로그 파일에서 특정 상태값만 취득하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: awk
키워드: 접속 로그, 로그 해석, 변형
사용처: 아파치 접속 로그에서 스테이터스 404(Not Found) 에러를 반환한 리퀘스트 로그를 가공해서 파일명만 추출하고 싶을 때
실행예제
$ cat access_log
xx.xx.xx.xx - - [06/Jan/2014:05:58:35 +0900] "GET / HTTP/1.1" 200 83 "-" "-"
yy.yy.yy.yy - - [06/Jan/2014:06:01:43 +0900] "GET /index.html HTTP/1.1" 200 304
yy.yy.yy.yy - - [0...
텍스트처리_09 로그 파일 컬럼 위치를 바꿔서 출력하고 보기 쉽게 바꾸기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: awk
키워드: 접속 로그, 로그 해석, 변형
사용처: 아파치 접속 로그에서 필요한 컬럼을 추출하고, 순서를 바꾸고 싶을 때
실행예제
$ cat access_log
xx.xx.xx.xx - - [06/Jan/2014:05:58:35 +0900] "GET / HTTP/1.1" 200 83 "-" "-"
yy.yy.yy.yy - - [06/Jan/2014:06:01:43 +0900] "GET /index.html HTTP/1.1" 200 304
yy.yy.yy.yy - - [06/Jan/2014:06:01:44 +0900] "GET...
텍스트처리_08 숫자값(CSV 파일)에서 "*"를 써서 간단한 텍스트 그래프 출력하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: echo, awk, sort, head, expr, read
키워드: 그래프, CSV 파일, 최대값
사용처: 숫자 자료를 간단히 텍스트 그래프로 표시하고 싶을 때
실행예제
$ ./csv-graph.sh data.csv
****** [Kim]
************************************************ [Lee]
**************** [Park]
[Kang]
************ [Seo]
스크립트
#!/bin/sh
csvfile="data.csv" # 자료 CSV 파일 -...
텍스트처리_07 숫자로 된 CSV 파일에서 평균값 계산하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: awk
키워드: 평균값, CSV 파일
사용처: CSV 파일에서 특정 컬럼값의 평균값을 계산해서 파일로 출력하고 싶을 때
실행예제
$ cat data.csv <---------- 자료 파일 확인
0001,Kim,45
0002,Lee,312
0003,Park,102
0004,Kang,3
$ ./csv-avg.sh data.csv
$ cat data.avg <---------- 평균값이 기록된 [파일명.avg]이 생성됨
115.5
스크립트
#!/bin/sh
# CSV 파일이 존재하지 않으면 종료
if [...
195 post articles, 28 pages.