grep (기본 명령어)
#grep (Globally find Regular-Expression and Print)
파일 내용 중 정규식 패턴에 일치하는 문자열을 찾아 화면에 출력 (원하는 결과만 뽑는 것)
#grep [Pattern] [file]
→ 옵션 (명령의 세부 기능)
-i (ignore-case) 대소문자를 구별하지 않는다.
-n (--line-number) 행 번호를 함께 보여준다.
-v (--revert-match) 정규식에 일치하지 않는 행만 보여준다.
-r (--recursive) 하위 디렉토리에 위치한 파일도 검색한다.
정규식(Regular Expressions), 레젝스(Regex)라고 부르기도 합니다.
- 정규식은 텍스를 조작, 처리하기 위해 만들어짐
(보통 검색과 치환을 위한 용도로 쓰임)
※ grep 명령어 하이라이트 옵션 설정하기 ※
- grep 명려어 사용 시 패턴과 일치하는 부분은 하이라이트 처리하여 가독성을 높여준다.
alias grep='grep --color=auto' alias로 설정한다.
<예제>
※ grep 명령어 사용 시 주의사항 ※
bash shell의 와일드카드를 이용해서 다음과 같이 hello로 시작되는 모든 파일을 출력합니다.
일단 echo를 이용하여 테스트용 파일을 생성해줍니다.
cat 명령어를 이용하여 각 파일에 내용을 확인해줍니다.
와일드 카드 문자를 사용하여 확인해줍니다.
1. ls abc* / 2. grep abc* / 3. grep abc* abc*
이유 : 정규식 패턴이 오는 부분으로 패턴과 두번째 인자인 파일 인자를 구분 지어주지 않으면 Shell은 정규식에서 사용하는 특수문자(*)를 Shell 메타 문자(*)로 확장 해석합니다.
쉘 메타 문자(*) - 모든 문자와 일치하는 와일드 카드 문자
정규식 메타 문자 (*) - 선행 문자가 0회, 이상 반복
grep abc* abc*==grep abc abc1 abc2 abc abc1 abc2
패턴에는 쿼터(" ")를 이용하여 묶어 쉘이 확장 해석하지 않도록 해야합니다.
※ grep 정규표현식 메타문자 ※
[참고]
#egrep
확장된 정규식 ( + ? ! | ( ) { } )을 이용하여 파일 내의 문자열을 검색한다. ( #grep -E)
#fgrep
정규식을 사용하지 않고 패턴을 모두 일반 문자열로 처리하여 명령어 실행결과가 빠르다. ( #egrep -F )
#watch
주기적으로 지정된 명령을 실행하고 결과를 출력 (업데이트)
#watch [option] "[command]"
→ 옵션 (명령의 세부 기능)
-n [N] N초 주기로 명령 결과 출력
-d 변경된 부분에 음영 처리
*세션을 추가하고 파일을 만들어 업데이트 되는 정보를 실시간으로 확인해줍니다.
'서버 > Linux' 카테고리의 다른 글
[Linux] vi(visual editor) & vim(vi improved) (0) | 2017.09.19 |
---|---|
[Linux] 파일 링크 (심볼릭 & 하드) (0) | 2017.09.19 |
[Linux] Xshell 기능 (0) | 2017.09.14 |
[Linux] 기본 명령어 (2) (0) | 2017.09.14 |
[Linux] 기본 명령어 (1) (0) | 2017.09.14 |