본문으로 바로가기

Day-5 grep 과 vi

category Linux 2016. 12. 21. 20:02

grep 정규표현식 메타문자

^          - 라인의 시작
$          - 라인의 끝
.           - 하나의 문자와 대응
*           - 선행문자의 0개 혹은 임의의개수와 대응
[ ]         - [ ]사이의 문자 하나와 대응
[^ ]       - [ ]사이의 문자를 제외한 문자와 대응
\<          - 단어의 시작
\>          - 단어의 끝
A\{N\}   - 문자 A를 N번만큼 반복
A\{N,\}  - 문자 A를 적어도 N번 반복
A\{N,n\} - 문자 A가 N번이상 n번 이하 반복

 

grep '[패턴]' [파일]

egrep '[패턴]' [파일명] == grep -E

egrep 'A|B' [파일명]  //파일에서 A나B가 포함된 라인 출력

fgrep == grep -F
fgrep '[패턴]' [파일명] - 정규표현식 메타문자도 일반문자로 취급

 

tip) #yum -y install lrzsz 를 입력해보자

위 명령어는 파일을 Xshell에 드래그 해서 파일을 넣을수 있다.

 

ex) grep -i 'c...y' grep_test1 //c와y사이 문자3개(공백포함)

      grep 'e\{1,2\} grep_test1 //e가 한번또는 두번 반복되는 라인

 

 

 

sort - 파일내의 내용을 알파벳 순서대로 정렬

형식c #sort [옵션] [파일]
옵션 : -n 숫자를 기준으로 정렬
       -r 역순으로 정렬
       -u 중복행 제거 (#uniq)
       -o 출력 결과를 파일로 저장

 

 

 

 

wc - (Wword Count) 파일의 단어, 라인, 문자 수 계산
형식 : #wc [옵션] [파일]
옵션 : -l 라인 수 출력
       -m 문자 수 출력
       -w 단어 수 출력

출력 필드 의미
[라인] [단어] [문자]

 

cut - 필드 잘라내기
형식 : #cut [옵션] [파일]
옵션 : -c 잘라낼 글자 위치를 지정
       -f 잘라낼 필드를 지정
       -d 필드와 필드를 구분하는 문자를 지정
          (기본값 tab)

 

cmp (compare) 파일비교 (파일 비교 명령어 -#diff, #diff3, #comm)
형식 : #cmp [파일1] [파일2]

 

watch★ - 주기적으로 지정된 명령 재실행, 결과 출력
형식 : #watch [옵션] '[명령]'
옵션 : -n [N] N초 주기로 명령 결과를 출력
       -d 변경된 부분에 음영처리 (하이라이트 효과)
       -t 헤더 정보 출력하지 않음

 

 

텍스트 편집기의 종류

- 모드(mode)형과 비모드형 편집기


모드형
- 입력 모드와 명령 모드가 구분
- 입력 모드는 텍스트를 입력할 수 있는 모드
- 명령 모드는 텍스트를 수정하거나 삭제하고 복사와 붙이기 등 편집을 하는 모드
- vi 모드형 편집기


비모드형
- 입력 모드와 명령모드가 구분되어 있지 않음
- 편집 기능을 Ctrl이나 Alt같은 특수키와 함께 사용
- 한글, 워드, 메모장,

vi (Visual editor) & vim (VI iMproved)
vim - vi의 기능을 향상 시킨 모드형 편집기

    
vim 설치하기

#yum -y install vim

 

vi [파일명] : 파일이 있을때 -> 파일을 열어 수정
                    파일이 없을때 -> 파일 생성하여 수정


vi [파일1] [파일2] : 다중 파일 열기
vi [+문자열] [파일] : 파일 내용중 문자열 검색 하여 이동 후 열기

명령모드 -> 입력모드
i,a,o
입력모드 -> 명령모드
ESC

 

vi,vim 을 사용할때 아래 그림들을 외워두자. 정말 편리하다.

 

 

 

 

 

 

 

 

 

'Linux' 카테고리의 다른 글

Day-7 환경변수  (0) 2016.12.24
Day-6 Redirection  (0) 2016.12.22
Day-4 기본 명령어2  (0) 2016.12.21
Day-3 기본 명령어 ,(파일과 디렉토리)  (0) 2016.12.20
Day-2 Xshell과 리눅스에 대하여  (0) 2016.12.14