리눅스의 장점 중 하나가 여러 파일을 한 번에 작업하기가 수월하다는 것인데 예를 들면 한달치 로그에서 발생한 에러 라인을 필터링해서 한눈에 출력할 수 있다.
ls 와 와일드카드(*), grep을 함께 사용한다.
1. error 출력
/var/log 경로에서 확장자가 .log인 파일 내에 있는 error 라인을 찾으면 아래와 같다.
[root@newhost log]# grep "error" *.log
2. 대소문자 구별 않고 error 출력
옵션 없이 “error”를 찾으면 정확히 대소문자를 구분하기 때문에 Error나 ERROR 같은 출력은 찾지 못한다.
이때 -i 옵션을 쓰면 대소문자를 구분하지 않고 일치하는 문자열을 찾아준다.
[root@newhost log]# grep -i "error" *.log
3. error와 warn 모두 출력
error 또는 warning 이 포함되어 있는 라인을 필터링 할 수도 있다. 이땐 or를 뜻하는 파이프(|)를 써야하는데 이 구분자를 grep이 인지할 수 있도록 따옴표 안에 이스케이프 문자인 \를 붙여줘야 한다.
[root@newhost log]# grep -i "error\|warn" *.log
4. less를 함께 사용
위와 같이 출력하면 내용이 많기 때문에 한 눈에 보기가 힘들다. less로 출력하면 위에서부터 한줄씩 볼 수 있다.
[root@newhost log]# grep -i "error\|warn" *.log | less