grep 4

grep 검색 패턴 앞 뒤로 출력하기

grep 으로 여러 줄 검색할 일 있을 때 해당 덩어리 전체가 정확히 맞아야 되는 경우도 있지만 그냥 앞 뒤 정보만 확인하고 싶은 때가 있습니다. 전자는 zop 등의 옵션으로 사용할 수 있지만 손이 좀 갑니다. -B -A -C 옵션을 사용하면 원하는 패턴이 있는 줄 뿐만 아니라 앞 뒤 줄을 더 확인할 수 있습니다. -B 는 before 이전 몇 줄, -A 는 after 이후 몇 줄, -C 는 context 로 동일한 크기로 앞뒤 줄 포함(-B, -A 동시 사용한 효과와 동일) grep -B 1 -A 2 session /var/log/syslog 위와 같이 명령 내리면 session 이 발견된 줄의 윗 1줄, 아래 2줄을 포함해서 보여줍니다. grep -C 1 session /var/log/syslog 위..

IT/System Digging 2023.07.11

[grep] 여러 줄을 포함하는 패턴 찾기

기록용으로 남깁니다. 다음과 같이 여러 줄에 걸친 문자열이 있다고 가정합시다. actionA version 3.4.5 do?? ok 200 response: "success" actionA, actionB, ... 등의 여러 요청이 있을 수 있고 패턴은 위와 비슷하고 그 중 actionA 요청의 response 결과에 따라 내용을 뽑아 분석을 하고 싶은 상황일 때 어떻게 해야 할까요? grep 'actionA.*$.*$.*$.*response: "' a.log 이렇게 하니까 첫 줄까지만 나오고 둘째줄부터는 안나옵니다.. grep 에는 perl regex 를 사용할 수 있도록 옵션을 지정할 수 있습니다. perl 에서는 \n 으로 개행문자를 지정할 수 있습니다. 여기에 z 옵션으로 개행 문자를 null 문..

IT/regex(정규식) 2022.03.16

[shell script] svn 저장소에 특정 계정 일괄적으로 추가하기

grep 옵션으로 -l을 주면 패턴과 일치하는 파일명만 출력이 됩니다. 여기에 -v 옵션을 추가해주면 특정 패턴은 포함하지 않는 파일만 출력해주겠죠. grep -lv "이건빼줘" svn 저장소의 계정 정보는 conf 디렉토리의 authz 파일과 passwd 파일에 저장이 됩니다. authz 파일은 계정에 대한 정보와 권한을 지정해주고 passwd 파일은 이름에 걸맞게 현재 저장소에 접속할 계정 이름과 비밀번호 정보를 갖고 있습니다. passwd 파일에만 추가해줘도 계정 접근이 가능하더군요. 이 두 정보를 가지고서 저장소에 있는 모든 프로젝트에 새 사용자 newbie를 추가해보겠습니다. 단, 이미 몇몇 프로젝트에는 newbie 사용자가 이미 등록된 상황입니다. 이 프로젝트는 제외해야 하겠죠? for f i..

IT/VCS 2016.03.16

cgvg 소개 및 확장자 추가하기

리눅스에서 텍스트 검색할 때 가장 많이 쓰는 게 grep이지만 여러 파일에 매치되는 키워드로 검색을 하고 해당 내용을 찾아 편집을 하다 보면 불편한 점이 한 두개가 아닙니다. 강력한 만큼 반복해서 타이핑해야 되는 옵션이나 검색 결과에 접근하는 부분이 불편해서인데 cgvg란 펄 기반 프로그램을 쓰면 좀더 편하게 사용할 수 있습니다.데비안 계열에서는 패키지로 제공이 됩니다.# apt-get install cgvggrep으로 'Logout'이란 문자열을 grep -rn 'Logout' . 정도의 옵션을 입력해야 재귀적으로(-r) 줄번호 표시해서(-n) 현재 디렉토리에서 시작하는(.) 옵션을 덕지덕지 붙여야 됩니다. cgvg는 다음과 같이 간단하게 할 수 있습니다.게다가 grep으로 찾았을 때 위 그림에서 두번..

IT 2013.12.31