텍스트처리_18 HTML 파일 문자 코드를 자동으로 판별해서 UTF-8로 인코딩된 파일로 바꾸기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: grep, sed, iconv
키워드: HTML, meta 태그, 문자 코드
사용처: HTML 파일 meta 태그에서 자동으로 문자 코드를 판별해서 UTF-8로 변환하고 싶을 때
실행예제
$ ./charset-utf8.sh
$ ls newdir/ <------ 디렉터리 newdir에 작성한 html 파일이 저장되었는지 확인
index.html euckr.html
스크립트
#!/bin/sh
# 변환한 파일을 출력할 디렉터리
outdir="newdir" #---------------------------...
텍스트처리_17 텍스트 파일에서 HTML 파일 만들기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: sed
키워드: HTML, 이스케이프, 문자 참조, 줄바꿈, 텍스트 파일
사용처: 서버에서 텍스트 파일을 간단한 HTML 파일로 변환해서 웹 브라우저로 보고 싶을 때
실행예제
$ cat sample.txt
1 + 1 < 3
"Hello!"
A & B
$ ./txt2html.sh sample.txt > sample.html
$ cat sample.html <-------------------변환한 HTML 확인
1 + 1 < 3<br>
"Hello!&...
텍스트처리_16 파일 크기를 줄이기 위해 자바스크립트 파일에서 빈 줄 제거하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: sed
키워드: 빈 줄, 경량화, 전송률, 압축
사용처: 모바일 사이트 등 전송량을 조금이라도 줄여야 하는 웹사이트 파일을 경량화하고 싶을 때
실행예제
$ ./delline.sh
$ ls newdir/
samplejs test.js =>디렉터리 newdir에 현재 디렉터리 js 파일에서 빈 줄을 제거한 파일을 출력
스크립트
#!/bin/sh
# 변환 파일 출력용 디렉터리명
outdir="newdir" #--------------------------------------------------- 1
# 파일...
텍스트처리_15 정해진 자릿수 숫자에 하이픈 넣기(우편번호 등)
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: getops, shift, awk, grep, sed
키워드: 옵션, 자릿수, 스페이스 제거, 우편번호
사용처: 우편번호나 전화번호 같은 텍스트에서 정해진 자리에 하이픈을 넣거나 삭제하고 싶을 때
실행예제
$ cat number-nohyphen.txt # 숫자뿐인 우편번호
5620001
2250022
A1200B1
$ ./num-hyphen.sh number-nohyphen.txt # 하이픈 추가
561-0001
225-0022
$ cat number-hyphen.txt # 하이픈이 있는 우편번호
562-0001
32...
텍스트처리_14 오른쪽 정렬로 숫자를 표시하는 텍스트 표 만들기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: grep, printf
키워드: 서식 출력, 텍스트 변형, 포맷
사용처: 숫자를 카운트하는 명령어에서 세로 위치를 정리해서 리포트하고 싶을 때
실행예제
$ ./printf.sh
1 (app20210409.log)
73 (app20210410.log)
146 (app20210412.log)
11 (info.log)
5 (system.log)
스크립트
#!/bin/sh
# 검색할 문자열 정의
search_text="ERROR 19:"
# 현재 디렉터리에서 확장자가 .log인 파일을 순서대...
텍스트처리_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]...
200 post articles, 29 pages.