텍스트처리_06 CSV 파일에 ID 목록을 입력해서 대응하는 ID 컬럼값 얻기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: read, grep
키워드: IFS, CSV, 레코드, 컬럼, 구분자, 분할
사용처: ID 목록 파일과 CSV 파일에서 지정한 ID의 컬럼값을 표시하고 싶을 때
실행예제
$ cat data.csv <------------ CSV 파일 확인
0001,Kim,45
0002,Lee,312
0003,Park,102
0004,Kang,3
0005,Seo,92
$ cat id.lst <-------------- 입력 ID 파일 확인
0003
0004
$ ./csv-list.sh id.lst <---- ID 목록과 ...
텍스트처리_05 CSV 파일에서 지정한 특정 레코드의 컬럼값 얻기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: cut, head, echo
키워드: CSV, 레코드, 컬럼
사용처: CSV 파일에서 인수로 지정한 ID에 대응하는 특정 컬럼을 표시하고 싶을 때
실행예제
$ cat data.csv
0001,Kim,45
0002,Lee,312
0003,Park,102
0004,Kang,3
0005,Seo,92
$ ./csv-select.sh 0004 <----- CSV 파일에서 지정한 ID 컬럼 표시
Kang
스크립트
#!/bin/sh
# CSV 파일 지정
csvfile="data.csv"
# ID가 지정되지 않으면 종...
텍스트처리_04 입력 파일 해시값을 줄마다 추가해서 출력하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: paste, md5sum, read, awk
키워드: 해시, 페이스트, 컬럼
사용처: 파일에서 입력값을 읽어서 줄마다 해시값을 계산해서 CSV 파일에 출력하고 싶을 때
실행예제
$ cat data.txt
abcdefg
password
123456
$ ./paste.sh data.txt
abcdefg,7ac66c0f148de9519b8bd264312c4d64
password,5f4dcc3b5aa765d61d8327deb882cf99
123456,e10adc3949ba59abbe56e057f20f883e
스크립트
#!...
텍스트처리_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
...
텍스트처리_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
# 미리 설정하지 않으면 에러가 발생하는 환경 변...
텍스트처리_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...
195 post articles, 28 pages.