줄 일치 패턴을 따르는 줄 수를 계산합니다.

줄 일치 패턴을 따르는 줄 수를 계산합니다.

패턴 사이의 줄 수를 계산하고 파일의 줄 수를 리디렉션하는 방법은 무엇입니까?

예:

PATTERN FOUND 
rows 
rows 
rows 
PATTERN FOUND 
rows 
rows

예상되는 결과는 다음과 같습니다.

3
2

답변1

사용 awk:

$ awk -v RS='PATTERN FOUND' 'NF{print NF}' infile
3
2

또는 rows실제로 문장 세트가 있는 경우 다음과 같이 할 수 있습니다.

$ awk -v RS='PATTERN FOUND' -F'\n' 'NF{print NF-2}' infile >output

위는 awk다음 샘플 입력 파일입니다.

PATTERN FOUND
rows
rows
rows
PATTERN FOUND
rows
rows
Here PATTERN FOUND :
zero first
second

fourth fifth sixth and last

결과는 다음과 같습니다.

3
2
4

빈 줄을 제거하고 계산하지 않으려면 다음을 수행하세요.

awk -v RS='PATTERN FOUND' -F'(\n)+' 'NF{print NF-2}' infile

빈 줄과 공백만 포함된 줄(탭 또는 공백)을 제거합니다.

awk -v RS='PATTERN FOUND' -F'(\n|^[ \t]*$)+' 'NF{print NF-2}' infile

관련 정보