유닉스“less”에서 X를 포함하지 않는 다음 줄로 넘어갈 수 있습니까?


21

유닉스 less도구에서 특정 표현식을 포함 하지 않는 다음 줄로 이동할 수 있습니까?

예를 들어, 모두 " 뭔가 계산 중 " 이라고하는 수천 개의 인접한 인접 줄이 포함 된 파일을 살펴 봐야 하며 현재 블록 다음에 나오는 다음 줄에 관심이 있습니다. 여기에는 "컴퓨팅"이라는 단어가 포함되어 있지 않습니다.

답변:


29

예, 다음은 일치하지 않는 검색 기능입니다.

less file.conf

그런 다음 입력 /하고 !마지막 줄은 다음과 같아야합니다.

Non-match /

그런 다음 패턴을 입력하여 Non-match /^#시작하지 않고 첫 번째 줄을 찾으십시오.#

!문자 대신을 사용할 수도 있습니다 Ctrl+N.


1
이것은 완벽 해요. 더 나은 답변을 기대하지 못했습니다.
dehmann

4

Casual Coder의 답변 외에도

라인을 모두 걸러 낼 수도 있습니다.

<logfile grep -v mypattern |less 

단점은 패턴을 변경하려면 grep을 종료했다가 다시 시작해야한다는 것입니다. 장점은보고 싶지 않은 선이 숨겨져있어 관심있는 선에서 흥미로운 패턴을 쉽게 찾을 수 있다는 것입니다.


1

X를 포함하지 않는 행 사이를 이동할 수있을뿐만 아니라 less&정규 표현식 필터 명령을 사용하여 X를 포함하는 행을 숨길 수 있습니다 .

less file.conf

그런 &!^Computing다음 enter키 를 입력 하면 해당 줄이 모두 숨겨집니다.

를 사용하여 나머지 행 내에서 계속 검색 할 수 있습니다 /.

유형을 - 당신이 라인을 찾으면 당신은 당신이 자신의 상황에 맞는 필요하면 다시 다른 사람을 가져올 수 원하는 &다음 enter키를 필터를 제거 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.