IS lab. 김건영 http://hagazzusa.github.io/ Sed, 정규표현식 IS lab. 김건영 http://hagazzusa.github.io/

Slides:



Advertisements
Similar presentations
수련회 안내 6.4~6.5. 언제, 어디로 ? ✽일시 2015 년 6 월 4 일 ( 목 ) ~ 5 일 ( 금 ) (1 박 2 일 ) ✽장소 강원도 정동진 ( 레일바이크 ), 경포대 ( 모터보트 ), 오죽헌, 용평리조트 일대 ✽참가인원 중학교 1 학년 ~ 고등학교 3 학년.
Advertisements

10장. 시기별 학급경영 11조 염지수 이 슬 권용민 신해식.
일본 근세사. (1) 에도막부의 개창 ( ㄱ ) 세키가하라의 전투 (1600) - 히데요시의 사후 다섯 명의 다이로 ( 大老 ) 가운데 최대 영지 (250 만석 ) 를 보유하고 있던 도쿠가와 이에야스가 급부상. 이에 이에야스와 반목해 온 이시다 미쓰나리 ( 石田三成 ),
아니마 / 아니무스 송문주 조아라. 아니마 아니마란 ? 남성의 마음속에 있는 여성적 심리 경향이 인격화 한 것. 막연한 느낌이나 기분, 예견적인 육감, 비합리적인 것에 대 한 감수성, 개인적인 사랑의 능력, 자연에 대한 감정, 그리.
대구가톨릭대학교 체육교육과 06 학번 영안중학교 체육교사 신웅섭 반갑습니다. 반야월초등학교 축구부 대륜중학교 축구부 대륜고등학교 대구가톨릭대학교 차석 입학 대구가톨릭대학교 수석 졸업 2014 년 경북중등임용 체육 차석 합격 영안중학교 체육교사 근무 소개.
돈 되는 도시형생활주택은 따로 있습니다. - 주거지역내 수요가 많은 지역을 과학적 / 통계적으로 선정 - 수익률과 시세차익을 함께 누릴 수 있는 곳을 선정 - 개발지 내 투자 ( 재개발 예정구역 ) - 시행초기에 투자 분양가 5,400 만원 실투자금 2,500 만원으로.
서울지하철노조 설립. 1. 전형적 공기업 군사 문화 가 일 개통 1 호선 서울시 공무원으로 운영 일 3.4 호선 건설한 공사와 합병 공무원신분에서 신분변경 나. 공사 내부의 군사 조직과 군사문화 - 공사 사장 감사 이사 ( 별.
중국의 자연환경 지형과 기후 한양대 공과대학 건축학부 동아시아건축역사연구실 한 동 수 2013 년 9 월 18 일.
일장 - 1 일 24 시간 중의 명기 ( 낮 ) 의 길이 ( 밤은 암기, 낮은 명기 ) 광주기성 - 하루 중 낮의 길이의 장단에 따라 식물의 꽃눈 형성이 달라지는 현상 일장이 식물의 개화현상을 조절하는 중요한 요인 단일식물 - 단일조건에서 개화가 촉진되는 식물 장일식물.
( 금 ) 11:00 상망동주민센터 2 층 회의실. 1. 아이의 웃음소리가 커지는 상망동 만들기 (2012 년도 인구증가 대책 ) 2. 제 18 대 대선 선거 중립 유지 및 개입 금지 3. 여성친화도시 조성 시민참여단 모집 영주 풍기인삼축제.
산 & 계곡의 매력 = 마음의 부자 _ “ 윤 ” 의 생각 산 행 기산 행 기 산 행 흔 적 이 동 윤 2012 년 04 월 01 일 ( 일 ) 창원 불모산 – 진해 안민고개 산행.
2 학년 6 반 1 조 고은수 구성현 권오제 김강서.  해당 언어에 본디부터 있던 말이나 그것에 기초하여 새로 만들어진 말  어떤 고장 고유의 독특한 말  Ex) 아버지, 어머니, 하늘, 땅.
국토의 자존심 ! 우리 영토 독도 !! 창기중학교 교사 박 정 희 2012 독도연수자료.
삭막한 세상 그러나 아직까지 이런 모습이 남아 있기에 이세상은 아직 살만한 곳이 아닐까 신 ( 神 ) 마저 외면 할 수 없는 인간들이 만든 감동의 순간 우리는 무엇을 해야 할 것인가 ?
아시아 김예소,이주희.
제24과 서울 단어 이후 体词+이후, 谓词+ㄴ/은 이후 ¶그날 이후 공휴일마다 도서관에 가서 책 한 권씩 읽습니다
소규모 합병 공고 주식회사 포스코는 주식회사 포스하이메탈과 2015년 12월23일 합병계약을
성결 어린이 영등포교회 유년부 정답은 뒷면에 제 11-31호 2011월 8월 14일 어디로 가세요?
2014년도 교원 및 기간제교사 성과상여금 전달교육 개 회 국기에 대한 경례 - 인사말
지역 사회의 조사 사회 1학년 1학기 Ⅰ. 지역과 사회 탐구>1.지역사회의 조사(1/6)
이탈리아 피자스파게티올리브등.
고입특강 과학 중학교 1학년 단원 1. 지구의 구조 대기권 지구의 내부.
선진 고양교육 “유아교육 행정 업무 연수” 유치원 회계실무 및 유아학비 연수 경기도고양교육청.
Ⅵ. 빛(단원학습목표).
묵자 겸애, 비명, 비공, 상현, 상동, 천지, 명귀, 삼표 법.
내 아이를 위한 구강관리.
제16장 원무통계 • 분석 ☞ 통계란 특정의 사실을 일정한 기준에 의하여 숫자로 표시한 것을 말한다.통계로서 활용할 수 있는 조건으로는 ① 동질성을 지녀야 하고 ② 기준이 명확하고 ③ 계속성이 지속되어야 하며 ④ 숫자로 표시하여야 한다 경영실적의.
통로이미지㈜ 마케팅실 신입/경력 모집 ◎ 모집부분 및 자격요건 ◎ 채용인원 ◎ 전형절차 ◎ 제출서류 ◎ 연봉 ◎ 사전인터뷰
2D 게임프로그래밍 프로젝트 2차 발표 유제원.
서울지방세무사회 부가세 교육 사진클릭-자료 다운 세무사 김재우.
소규모 합병 공고 주식회사 포스코는 포스코그린가스텍 주식회사와 2016년 2월26일 합병계약을
요한계시록 진행과정 장 차 될 일 천년왕국(20:4-6)/흰보좌(20:11-15) 20
치매의 예방 김 은민 윤금 노인요양원 치매의.
[beginning] Linux & vi editor
Linux/UNIX Programming
Linux/UNIX Programming
IS lab. 김건영 Awk, Posting list IS lab. 김건영
정보검색 환경세팅 및 쉘스크립트 맛보기 IS lab. 김건영.
동북공정, 독도,이어도 손원태 동북공정이란? 동북공정의 현재 진행 상황? 독도의 위치 및 각 국의 주장 이어도
운영체제 (Operating Systems)
마산에 대하여 만든이 : 2204 김신우, 2202 권성헌.
낮과 밤 알아보기 슬기로운 생활 2학년 1학기 4. 빛과 그림자>낮과 밤( 4/8 )
나사렛.
평행사변형의 성질 사각형 ABCD 사각형 ABCD → 기호: □ABCD 대변: 마주 보는 변 대각: 마주 보는 각
제12주제 갈보리언덕에서 누가복음 23:33-49.
Linux/UNIX Programming
6장 콘 셸 뇌를 자극하는 Solaris Bible.
발표: G2 박진수 사도요한 준비: G2 박진수 사도요한 T3 김택준 미카엘
?category=mbn00009&news_seq_no=
-. 용인 처인구/기흥/수지구 고사장 중 가장 소요시간이 긴 고사장은 보정고(58분/39.18Km) 사전조기출발 필요!
힘의 합성 피라미드의 축조 2.5톤의 돌 230만개 우주인의 작품? --제5원소 힘의 합성-합력.
대기권의 구조 학습목표 대기권을 기온의 연직 분포에 따라 대류권, 성층권, 중간권, 열권으로 구분할 수 있다.
6장 마케팅 조사 박소현, 김중호, 박기찬.
耽羅國 建國神話 허남춘(제주대 국문학과 교수)
한밭대학교 창업경영대학원 회계정보학과 장 광 식
시스템 인터페이스 Lab#5 쉘 실습.
태양계 사진 모음 태양 목성 이 프로그램은 혜성이나 위성,소행성,왜소행성을 소개하지 않습니다 수성 토성 금성 천왕성 지구
P (6) 암석의 순환과 이용.
(생각열기) 인체의 혈관의 길이는 약 몇 km인가? 답 : 약 10만 km로 지구를 두 바퀴 반 정도 돌 수 있는 길이 이다.
음양오행과 물리학 조 원 : 김용훈, 양범길, 박수진, 윤진희, 이경남, 박미옥, 박지선 (11조)
1-1 지구계의 구성 요소.
학습주제 제주도의 독특한 자연 환경 학습목표 · 제주도의 지형적 특징을 조사한다. · 제주도의 기후적 특징을 조사한다. 목차
시스템 인터페이스 Lab#6 C 쉘 프로그래밍 실습.
이야기 치료에 대하여 <8조 학문적 글쓰기 발표> 주희록 최은지
P 조산운동 생각열기 – 히말라야 산맥은 길이가 약 2,400 km에 이르며, 높이가 7,000 m가 넘는 산들이 백 개 이상 분포한다. 이처럼 규모가 큰 산맥은 어떻게 만들어졌을까? ( 히말라야 산맥은 인도판이 유라시아판 밑으로 파고 들어갈 때, 두.
유예 X-FILE *조사자* 1301권희원 1315이예지 1317장아정 1322홍자현.
중국문학개론 한부와 겅건안문학 중어중국학과 ㅇ이진원 한부와 건안문학.
학 습 문 제 화산 활동이 우리에게 주는 영향을 알아보자 학 습 활 동 안 내 화산이 발생한 지역 알아보기 2. 화산 활동의 이로운 점과 해로운 점 발표하기 학 습 활 동 안 내 화산이 발생한 지역 알아보기 2. 화산 활동의 이로운 점과 해로운 점 발표하기.
Linux/UNIX Programming
Intelligent software Lab. 전재원
Presentation transcript:

IS lab. 김건영 http://hagazzusa.github.io/ Sed, 정규표현식 IS lab. 김건영 http://hagazzusa.github.io/

Sed? Awk(담 시간에 할거)? 공통적으로 간단하게 말하자면 데이터 가공을 위한 텍스트 처리 유틸 프로그램 리눅스 쉘 환경에서 지원함 표준입력 표준출력 (stdout, stdin) 사용으로 원본파일을 건드리 지 않음 간단하게 말하자면 Sed: 비대화형 텍스트 편집기 Awk: 필드 단위의 패턴 처리기 주로 Sed를 이용해 raw data를 가공하고 awk를 이용해 원하는 형태로 만듬

Sed - 기본 사용법 Sed [-e “script”] [-f “script file”] [파일] 명령어가 하나일 경우 –e 옵션은 생략가능 ex) sed 8d file : file의 8번째 줄 제거 후 출력 Sed용 script 연산자 연산자 이름 의미 [주소 범위]p print [주어진 주소범위]를 출력 [주소 범위]d delete [주어진 주소범위]를 삭제 a 와 i Append, insert 주소 혹은 패턴이 있는 줄 후, 전에 문자열추가 s/pattern1/pattern2/ substitute 한 라인에서 처음 나타나는 pattern1을 pattern2로 치환 [주소 범위]/s/pattern1/pattern2/ 주소 범위에 대해서 한 라인에 처음 나타나는 pattern1을 pattern2로 치환 [주소 범위]/y/pattern1/pattern2/ transform 주소 범위에 대해 pattern1에 나타나는 어떤 문자라도 pattern2에 나타나는 문자로 변경

Sed 실습용 자료 cd mkdir sed cp /home/gykim/sed/sed00 ./sed/

Sed – 출력(print) Sed [시작, 마지막]p file : 시작부터 마지막 까지 출력 sed /patt/p file : patt이 나오는 모든 줄 출력 sed [시작],/[patt]/p file : 시작~patt이 나오는 곳까지 -n 옵션을 주면 중복출력을 막아줌 1부터 출력

Sed – 출력(print) Address가 들어간 줄만 출력 1부터 첫번째 address가 나오는 줄까지 출력 1부터 20까지 제외하고 출력

Sed – 삭제(delete) Sed [시작, 마지막]d file : 시작부터 마지막 까지 삭제 sed /patt/d file : patt이 나오는 모든 줄 삭제 sed [시작],/[patt]/d file : 시작~patt이 나오는 곳까지 1부터 13번째 줄까지 삭제

Sed – 삭제(delete) “가 들어간 모든 줄 삭제 5번줄부터 address가 있는 줄까지 삭제 1번과 2번 줄을 제외하고 삭제

Sed – 추가, 삽입 (append, insert) Sed [시작,끝]a[“문자열”] : 해당되는 주소마다 다음 줄에 문자열 추가 : a 대신 i를 쓸 경우 줄 이전에 문자열 추가 앞서 배운 패턴매칭 응용가능

Sed – 치환(substitute) Sed [주소 범위]s/patt1/patt2/[매칭번호] : patt1을 patt2로 치환, 주소를 안주면 전체 sed s/patt1/patt2/2 : 한 줄에서 두 번째로 매칭된 패턴만 변환 sed s/patt1/patt2/g : g가 없으면 한 줄에서 첫 번째로 매칭된 패턴만 치환이 된다. Cambridge를 kangwon으로 치환

Sed – 치환(substitute) 부분치환과 global 활용법 숫자와 g 의외에도 p(수정된 것만 화면에 출력) w file(file에 저장) 등이 존재

Sed – 변환(transform) Sed y/patt1/patt2/ file : 문자단위 치환 patt1과 patt2는 크기가 같아야함 : 아래 예제는 a는 1로 b는 2로 바꿔줌 앞선 예제들과 같이 주소지정 가능

Sed – pipeline 응용 File path를 주지 않고 다른 프로그램의 결과를 pipeline 으로 넘겨도 작동한다. (cat의 -n 옵션은 줄 번호를 매겨주는 옵션)

Sed – redirection 응용 파일 내용을 < 을 이용해 stdin으로 넘겨주거나 >을 이용 하여 sed 프로그램의 결과를 저장할 수 도 있다.

정규표현식 특정한 규칙을 가진 문자열의 집합을 표현할 수 있는 형식 언어. Ex) [a-z] : a부터 z까지 중 하나 gr(a|e)y : gray 혹은 grey 촘스키 언어 계층 3유형 정규문법에서 출발 복잡하나 잘만 쓰면 문자열 처리에 강한 힘을 발휘함 Ex) HTML에서 <a href=link>~</a>에서 link만 따오기

정규표현식 앞서 배운 pattern은 단순 문자열이 아닌 고차원, 다기능 의 정규표현식으로 대체가 가능하다. Ex:모든 알파벳 소문자열을 1로 대체한다. Sed에서 모든 정규표현식을 쓰려면 –r 옵션이 필요

정규표현식 - 메타문자 실제 단어가 아닌 패턴 매칭을 위해 사용되는 문자들 이탤릭체는 문자와 직접 매칭이 아닌 반복을 나타냄 실제 단어가 아닌 패턴 매칭을 위해 사용되는 문자들 이탤릭체는 문자와 직접 매칭이 아닌 반복을 나타냄 메타문자 의미 예제 설명 ^ 라인의 처음 /^linux/ Linux로 시작하는 모든 라인들 $ 라인의 끝 /linux$/ Linux로 끝나는 모든 라인들 . 모든 문자와 매칭 /l···x/ ‘l’로 시작해서 x로 끝나는 문자가 있는 라인들 * 매칭되는 문자가 없거나 여러 개의 문자열이 될 수 있다. /. *linux/ 아무것도 없거나, 아무 문자나 반복되어 linux로 끝나는 것 ? *와 비슷하나 0 또는 1회로 제한된다. /.?linux/ 아무것도 없거나 linux앞에 한 단어가 오는 것 + *와 비슷하나 1회 이상 /.\+linux/ Linux앞에 한 단어가 오는 것

정규표현식 - 메타문자 강조되어 있는건 POSIX 표준이 아님 메타문자 의미 예제 설명 [ ] 괄호 안의 문자 하나와 매칭 /[Ll]inux/ Linux 또는 linux를 포함하는 라인들 [^ ] 괄호 안의 문자를 제외하고 매칭 /[^A-KM-Z]inux/ Inux 앞에 A~K, M~Z까지 문자를 포함하지 않는 라인들 \(..\) 정규표현식 그룹 s/\(love\)able/\1er/ \1 : 1번 tag로 저장 able을 er로 치환 /< 단어의 시작 /\<linux/ Linux로 시작하는 단어를 포함하고 있는 라인들을 매칭 /> 단어의 끝 /linux\>/ Lunux로 끝나는 단어를 포함하고 있는 라인들을 매칭 & 치환 문자열로 기억될 수 있는 검색 문자열을 저장 s/linux/**&**/ &는 검색 문자열 linux => **linux**

정규표현식 - 메타문자 앞서 *, +, ? 와 똑같은 역할을 한다. 메타문자 의미 예제 설명 x\{m\} /o\{5\}/ O가 5회 반복 x\{m,\} 적어도 m회 반복 /o\{5,}/ O가 적어도 5회 반복 x\{m,n\} m회~n회 사이 반복 /o\{5,10\}/ O가 5회에서 10회 사이 반복

Sed – 정규표현식 , 시작과 끝, 반복 ^[\ ]* : 줄의 시작부터 스페이스가 0회 이상일 경우 *대신 ?와 +도 써서 차이점을 확인해보자 .$ : 줄끝(\n) 그 앞의 한 문자

Sed – 정규표현식 , 문자 클래스 [abcd] = [a-d] : a부터 d 중 하나 a~d 로 이루어진, 한 문자 이상의 연속된 문자열을 k로 치환한다. (address -> kress) [^\{\}0-9,\ \”:] : {}숫자,”공백:을 제외한 다른 문자 중 하나 가 한 문자 이상 연속된 문자열을 매칭하여 k로 치환한 다

Sed – 정규표현식 , 하위식 \”\(f\|p\).*”\ : “로 시작하고 f혹은 p가 다음 단어이 고 .가 *로 반복되면서 “로 끝나는 패턴 을 포함하는 줄을 출력한다.

Sed script file 여러 sed 명령어를 연속으로 작성한 파일 a->A, e->E, i->I로 치환

Sed in shell script a->A, e->E, i->I로 치환해주는 스크립트 둘 다 같은 동작을 함 $1 은 커맨드 라인 첫 번째 매개변수 $0 은 실행되는 sh의 파일 이름

Block grouping {}을 이용해 여러 명령어를 그룹핑 가능 N은 한 라인을 더 추가하여 검색한다는 명령어 (2줄검색) ./~~.sh sed00으로 실행하면 옆과 같음

Exercise Sed00에 있는 모든 특수문자를 지워 다음과 같이 바꾸고. (단 :은 =로 바꿀 것) 줄번호를 추가하여 name=이 있는 줄만 출력한다.

Exercise 실행 스크립트와 결과를 스크린샷으로 찍어서 gyk@kangwon.ac.kr 으로 보내주세요. [학번] IR SED 라고 제목 지으시면 됩니다. 정보) 파일에 등장하는 특수문자는 다음과 같다. { } . , “ : 줄 번호 추가는 cat –n 사용