'IT 이야기/Linux 셸 스크립트' 카테고리의 글 목록 (6 Page)
본문 바로가기

IT 이야기/Linux 셸 스크립트137

[Linux 셸 스크립트] 텍스트 처리 - 083 파일 크기를 줄이기 위해 자바스크립트 파일에서 빈 줄 제거하기 1. 사용 명령어 (1) sed 2. 키워드 & 사용처 (1) 키워드 빈 줄, 경량화, 전송률, 압축 (2) 사용처 모바일 사이트 등 전송량을 조금이라도 줄여야 하는 웹사이트 파일을 경량화하고 싶을 때 사용합니다. 3. 실행 예제 $ ./delline.sh $ ls newdir/ samplejs test.js "${outdir}/${filename}" ④ done 5. 해설 이 스크립트는 현재 디렉터리에 있는 자바스크립트 파일(확장자 .js)에서 빈 줄 및 탭, 스페이스만 있는 줄을 삭제해서 파일 크기를 경량화합니다. 모바일용 사이트나 조금이라도 전송량을 줄이고 싶을 때 사용할 수 있습니다. ①에서 우선 변환 후 출력용 디렉터리를 정의합니다. 여러 js 파일을 처리하므로 그것을 셸 변수 outdir에 정.. 2021. 4. 13.
[Linux 셸 스크립트] 텍스트 처리 - 082 정해진 자릿수 숫자에 하이픈 넣기(우편번호 등) 1. 사용 명령어 (1) getopts (2) shift (3) awk (4) grep (5) sed 2. 키워드 & 사용처 (1) 키워드 옵션, 자릿수, 스페이스 제거, 우편번호 (2) 사용처 우편번호나 전화번호 같은 텍스트에서 정해진 자리에 하이픈을 넣거나 삭제하고 싶을 때 사용합니다. 3. 실행 예제 $ cat number-nohyphen.txt # 숫자뿐인 우편번호 562001 2250022 A1200B1 $ ./num-hyphen.sh number-nohyphen.txt # 하이픈 추가 561-0001 225-0022 $ cat number-hyphen.txt # 하이픈이 있는 우편번호 562-0001 325-10022 362-0001 A1B-0C1C $ ./number-hyphen.sh -d .. 2021. 4. 13.
지역화폐 147탄 - 경남 하동군(하동사랑상품권, 모바일 하동사랑상품권) 1. 하동사랑상품권 (1) 하동사랑상품권이란? (2) 하동사랑상품권 이용안내 시기 : 2007년 7월 1일부터 발행 종류 : 5천원, 1만원권 할인율 : 10%(개인, 법인 동일) 할인 구매한도 : 50만원(개인), 500만원(법인) 구입처 : NH농협은행 하동군지부, 군청 출장소, 주요 지역 농협 하동읍은 하동군지부, 군청출장소에서 판매 구매방법 : 구매처 방문시 신분층 지참 후 현금 할인 구매 신청서 작성 사용지역 : 하동군 관내(타지역 사용불가) 사용업소 : 사업자 등록이 되어 있는 모든 업소, 노점상, 행상 등 상품권 교환방법 : 업주가 농협군지부 또는 지역 농·수·축협에서 수수료 없이 액면금액 그대로 현금으로 교환 (3) 하동사랑상품권 문의하기 하동군청 경제전략과 ☎ 055-880-2195 2... 2021. 4. 13.
[Linux 셸 스크립트] 텍스트 처리 - 081 오른쪽 정렬로 숫자를 표시하는 텍스트 표 만들기 1. 사용 명령어 (1) grep (2) printf 2. 키워드 & 사용처 (1) 키워드 서식 출력, 텍스트 변형, 포맷 (2) 사용처 숫자를 카운트하는 명령어에서 세로 위치를 정리해서 리포트하고 싶을 때 사용합니다. 3. 실행 예제 $ ./printf.sh 1 (app20210409.log) 73 (app20210410.log) 146 (app20210412.log) 11 (info.log) 5 (system.log) 4. 스크립트 #!/bin/sh # 검색할 문자열 정의 search_text="ERROR 19:" # 현재 디렉터리에서 확장자가 .log인 파일을 순서대로 처리 for filename in *.log ① do # 일치하는 줄 수를 -c 옵션으로 취득 count=$(grep -c "$se.. 2021. 4. 12.
[Linux 셸 스크립트] 텍스트 처리 - 080 sed로 HTML 파일 속성을 바꿀 때 슬래시 이스케이프 피하기 1. 사용 명령어 (1) sed 2. 키워드 & 사용처 (1) 키워드 슬래시, 이스케이프 (2) 사용처 sed 명령어로 /를 포함한 문자열을 치환할 때 일일이 이스케이프하고 싶지 않을 때 사용합니다. 3. 실행 예제 $ ./sed-slash.sh 화면에 아무것도 표시죄디 않지만 HTML 파일에 있는 /img가 /images/로 치환됨 4. 스크립트 #!/bin/sh # 출력 디렉터리 정의 outdir="newdir" # 출력 디렉터리 존재 확인. 없으면 에러 종료 if [ ! -d "$outdir" ]; then ① echo "출력 디렉터리가 존재하지 않습니다: $outdir" >&2 ① exit 1 ① fi # 현재 디렉터리의 html 파일 처리 for htmlfile in *.html ② do # 파.. 2021. 4. 12.
[Linux 셸 스크립트] 텍스트 처리 - 079 웹 접속 로그에서 파일별 접속 횟수 집계하기 1. 사용 명령어 (1) awk (2) sort (3) uniq 2. 키워드 & 사용처 (1) 키워드 접속 로그, 로그 분석, 페이지 뷰 (2) 사용처 아파치 접속 로그에서 페이지 뷰를 집계하고 싶을 때 사용합니다. 3. 실행 예제 $ cat access.log xx.xx.xx.xx - - [12/Apr/2021:17:17:18 +0900] "GET / HTTP/1.1" 200 83 "-" "-" yy.yy.yy.yy - - [12/Apr/2021:17:18:20 +0900] "GET /index.html HTTP/1.1" 200 304 yy.yy.yy.yy - - [12/Apr/2021:17:18:22 +0900] "GET /title.gif HTTP/1.1" 200 763 ... 생략 ... $ ./.. 2021. 4. 12.
[Linux 셸 스크립트] 텍스트 처리 - 078 시스템 로그에서 IP 주소마다 횟수 집계하기 1. 사용 명령어 (1) sed (2) sort (3) uniq 2. 키워드 & 사용처 (1) 키워드 SSH, 부정 접속, 인증 실패, 로그 추출 (2) 사용처 sshd 로그 파일에서 암호 인증에 실패한 IP 주소를 세고 싶을 때 사용합니다. 3. 실행 예제 # ./ssh-fail.sh 1510.211.55.2 610.211.55.21 210.211.55.18 접속해온 IP 주소마다 ssh 암호 인증에 실패한 횟수가 많은 순서로 표시 4. 스크립트 #!/bin/sh # sshd 로그 파일 securelog="/var/log/secure" # IP 주소를 추출하기 위한 패턴. 변수에 저장 pattern="^.*sshd\[.*\].*Failed password for.* from \(.*\) port .*".. 2021. 4. 12.
[Linux 셸 스크립트] 텍스트 처리 - 077 웹 서버 로그 파일에서 특정 상태값만 취득하기 1. 사용 명령어 (1) awk 2. 키워드 & 사용처 (1) 키워드 접속 로그, 로그해석, 변형 (2) 사용처 아파치 접속 로그에서 스테이터스 404(Not Found) 에러를 반환한 리퀘스트 로그를 가공해서 파일명만 추출하고 싶을 때 사용합니다. 3. 실행 예제 $ cat access.log xx.xx.xx.xx - - [12/Apr/2021:17:17:18 +0900] "GET / HTTP/1.1" 200 83 "-" "-" yy.yy.yy.yy - - [12/Apr/2021:17:18:20 +0900] "GET /index.html HTTP/1.1" 200 304 yy.yy.yy.yy - - [12/Apr/2021:17:18:22 +0900] "GET /tittle.gif HTTP/1.1" 404.. 2021. 4. 12.
[Linux 셸 스크립트] 텍스트 처리 - 076 로그 파일 컬럼 위치를 바꿔서 출력하고 보기 쉽게 바꾸기 1. 사용 명령어 (1) awk 2. 키워드 & 사용처 (1) 키워드 접속 로그, 로그 해석, 변형 (2) 사용처 아파치 접속 로그에서 필요한 컬럼을 추출하고, 순서를 바꾸고 싶을 때 사용합니다. 3. 실행 예제 $ cat access_log xx.xx.xx.xx - - [09/Apr/2021:12:20:20 +0900] "GET / HTTP/1.1" 200 83 "-" "-" yy.yy.yy.yy - - [09/Apr/2021:13:21:33 +0900] "GET /index.html HTTP/1.1" 200 304 zz.zz.zz.zz - - [09/Apr/2021:12:22:12 +0900] "GET /title.gif HTTP/1.1" 200 763 $ ./log-column.sh access.l.. 2021. 4. 12.
[Linux 셸 스크립트] 텍스트 처리 - 075 숫자값(CSV 파일)에서 "*"를 써서 간단한 텍스트 그래프 출력하기 1. 사용 명령어 (1) echo (2) awk (3) sort (4) head (5) expr (6) read 2. 키워드 & 사용처 (1) 키워드 그래프, CSV 파일, 최대값 (2) 사용처 숫자 자료를 간단히 텍스트 그래프로 표시하고 싶을 때 사용합니다. 3. 실행 예제 $ ./csv-graph.sh data.csv ****** [Kim] ************************************************ [Lee] **************** [Park] [Kang] ************ [Seo] 4. 스크립트 #!/bin/sh csvfile="data.csv" # 자료 CSV 파일 ① GRAPH_WIDTH=50 # 그래프 너비 ① markprint () { ② local.. 2021. 4. 9.