리눅스

grep으로 설정파일에서 주석제거 하기

쁘로그래머 2019. 8. 13. 09:11

정규표현식에서 일정한 의미를 가지고 쓰는 특수문자를 메타 문자라고 부른다. 

여기에 쓰이는 글자가 포함된 패턴을 넣으려면 해당 글자 앞에 \를 넣어줘야 한다.


^ : 문자열의 시작

$ : 문자열의 종료. 옵션에 따라 문장의 끝 또는 문서의 끝에 매치된다.

. : 임의의 한 문자

[]: 문자 클래스. 문자 클래스 안에 들어가 있는 문자는 그 바깥에서 하나의 문자로 취급된다.

    -> ^ : 문자 클래스 내에서 ^는 not

    -> - : ex) a-z는 a에서 z까지의 문자

| : or를 나타냄

? : 앞 문자가 없거나 하나 있음

+ : 앞 문자가 하나 이상임

* : 앞 문자가 0개 이상임

{n,m} : 앞 문자가 n개 이상 m개 이하. {0,1} 은 ?와 같은 의미다.

{n,} : 앞 문자가 n개 이상. 위의 형태에서 m이 생략된 형태이다. {0,} 이면 *와 같고 {1,} 이면 +와 같은 의미이다.

{n} : 앞 문자가 정확히 n개. {n,n} 과 같은 의미이다.

() : 하나의 패턴구분자 안에 서브 패턴을 지정해서 사용할 경우 괄호로 묶어주는 방식을 사용한다.

\s : 공백문자

\b : 문자와 공백 사이를 의미한다.

\d : 숫자 [0-9]와 같다.

\t : 탭문자

\w : 단어 영문자+숫자+_(밑줄) [0-9a-zA-Z_]

문자 이스케이프는 대문자로 적으면 반대를 의미한다.



$ grep "^[^#;]" redis6379.conf

bind 0.0.0.0

protected-mode yes

port 6379

tcp-backlog 511

timeout 0

tcp-keepalive 300

daemonize no

supervised no

pidfile /var/run/redis_6379.pid

loglevel notice

logfile ""



참고: https://unix.stackexchange.com/questions/60994/how-to-grep-lines-which-does-not-begin-with-or