두 번째 일치가 처음 발생했을 때까지 첫 번째 일치를 포함하여 모든 줄을 인쇄하려고합니다. 첫 경기.첫 번째 패턴과 두 번째 패턴 사이에 줄을 인쇄 할 때 두 번째 패턴이 첫 번째 패턴의 위와 아래에서 발생합니다.
내가 가진 파일은 아래와 같이 빈 줄로 구분되는 기록을 포함
host host1
key1 value
key2 value
key3 value
host host2
key1 value
key2 value
key3 value
key4 value
key5 value
host host3
key1 value
key2 **aaaa**
key3 value
host host3
key1 value
key2 value
의 내 검색 패턴은 "AAAA"라고 할 수 있습니다. 빈 라인까지 첫 번째 일치 위의 라인을 "aaaa"로 인쇄하고 빈 라인까지 "aaaa"에 첫 번째 일치하는 라인을 인쇄하고 싶습니다. 따라서 검색 결과는 다음과 같이 출력되어야합니다 :
host host3
key1 value
key2 aaaa
key3 value
각 레코드에는 다른 수의 줄이 포함되므로 사용할 수 없습니다.
고마워요 작품 .... 어떻게 하나 이상의 일치하는 경우 레코드 사이에 빈 줄을 추가 할 것이라고? – user6901586
한 가지 더 RS 케이스를 구분하지 못하게하려면 어떻게해야합니까? – user6901586
출력 레코드 사이에 빈 줄을 인쇄하려면'-v ORS = '\ n \ n "을 추가하십시오. RS는 비어 있으므로 대소 문자를 구분하지 않습니다. 대소 문자를 구분하지 않기 때문입니다. –