● 개요
→ Shell Programming
: 없는 명령어들을 생성(C언어 등을 이용해서 만들어 준다)
→ Shell Scripting
: 있는 명령어들을 조합(일반 텍스트로 되어 있다)
● 개요
→ 특정 조건에 맞는 문자열 패턴 검색
→ 줄 단위로 출력
● 실습
→ grep(줄단위 검색)
→ awk(열단위 검색)
: awk로 시작하는 경우
awk ‘PATTERN’ 파일명 → 패턴을 찾으려는 문자열
awk ‘{ACTION}’ 파일명
awk ‘/PATTERN/ {ACTION}’ 파일명
: 명령어의 결과를 이용하는 경우
command | awk ‘pattern’
command | awk ‘{action}’
command | awk ‘pattern {action}’
→ 데이터 필드 형태 (Positional Parameter(위치 인자) 형태를 사용)
→ 필드는, ‘$1, $2, $3,.’ 등으로 사용하고 각 필드는 공백으로 구분
(‘$0‘는 전체 필드를 의미)
: \t : 결과값 필드 간의 간격을 탭 키만큼 띄운다. - \n : 줄 바꿈
: %숫자s : 숫자만큼 공간 확보, s 문자열(%10s)10칸 문자열 공간 확보
: %숫자n : 숫자만큼 공간 확보, n 숫자 (%10n) 10칸 숫자 공간 확보
: 정렬 : '-'는 왼쪽 정렬, 안 쓰면 우측 정렬
: print : 필드 자체를 출력
: printf : 필드의 문자열 출력
# mkdir /script
# cd /script/
# cat /etc/passwd | grep samadal
# grep ‘samadal’ /etc/passwd
→ 두개 같은 동작을 함
# grep ‘^samadal’ /etc/passwd
→ 문서에서 라인에서 맨 앞이 사마달로 시작하는거 출력
# grep ‘samadal$’ /etc/passwd
→ 문서 마지막이 사마달로 끝나는거
# grep’\<samadal’ /etc/passwd
→ 문서에서 사마달로 시작하는 거 출력 : 첫 단어
# grep ‘samadal\>’ /etc/passwd
→ 문서에서 사마달로 끝나는거 출력 : 끝 단어