job="A" elapsed="12"
job="B" elapsed="234"
job="C" elapsed="3456"
job="D" elapsed="4"
job="E" elapsed="56"
job="F" elapsed="678"
job="G" elapsed="7890"

위와 같은 성능 로그가 있을 때 3자리 이상 걸린 로그를 찾고 싶을 때가 있다.

$ grep "elapsed=\"[0-9][0-9][0-9]\+\"" test.log
job="B" elapsed="234"
job="C" elapsed="3456"
job="F" elapsed="678"
job="G" elapsed="7890"

정규식 표현 중 하나 이상 있어야 한다는 + 표현을 사용해서 검색할 수 있다.

$ grep "elapsed=\"[0-9][0-9][0-9][0-9]*\"" test.log
job="B" elapsed="234"
job="C" elapsed="3456"
job="F" elapsed="678"
job="G" elapsed="7890"

0 회 이상을 뜻하는 * 표현을 사용할 수도 있다.

$ grep "elapsed=\"[0-9]\{2,3\}\"" test.log
job="A" elapsed="12"
job="B" elapsed="234"
job="E" elapsed="56"
job="F" elapsed="678"

n 회 이상 m 회 이하를 표현하는 {n,m} 표현을 통해 더 정밀하게 제어할 수도 있다.

$ grep "elapsed=\"[0-9]\{3,\}\"" test.log
job="B" elapsed="234"
job="C" elapsed="3456"
job="F" elapsed="678"
job="G" elapsed="7890"

m 부분을 비워 n 회 이상을 표현할 수도 있다.

728x90

+ Recent posts