특정 길이의 제목에 대문자와 소문자 단어가 포함된 줄 수를 계산하는 방법은 무엇입니까?

특정 길이의 제목에 대문자와 소문자 단어가 포함된 줄 수를 계산하는 방법은 무엇입니까?

5~10자 길이이고 대문자로 시작하는 단어가 포함된 텍스트 파일의 줄 수를 찾기 위해 unix/linux에서 쉘 스크립트를 만드는 방법은 무엇입니까?

답변1

원래 질문이 다음과 같다고 가정합니다.계산위의 요구 사항을 충족하는 행 수는 다음과 같습니다.

grep -e '\<[[:upper:]][[:alpha:]]\{4,9\}\>' file|wc -l

이것이 의미한다고 가정인쇄일치하는 줄 번호:

awk --re-interval '{line = line + 1} /\<[[:upper:]][[:alpha:]]{4,9}\>/ {print line}' file

답변2

egrep "^[A-Z]" FILE | egrep -c "\b[A-Za-z]{5,10}\b"

이제 문제는 대문자로 시작하는 줄을 필터링하는 것입니다(예: 줄은 단어가 아닌 대문자로 시작해야 함). 그리고 길이가 5~10자인 단어(첫 번째 단어일 필요는 없음)를 포함합니다. .

예, 원래 질문을 읽은 후에는 4가지 가능한 해석이 있습니다. 시작 단어는 두 가지 요구 사항을 충족해야 하며, 그렇지 않으면 시작 단어와 다른 단어여야 하며, 줄 번호 또는 줄 번호를 가져옵니다.

대문자로 시작하고 길이가 5-10인 단어를 포함하는 줄의 줄 번호를 인쇄하려면 sed를 사용합니다.

sed -nr '/^[A-Z][a-z]{4,9}/=;/^[A-Z].*\b[A-Za-z]{5,10}\b/=' FILE 

관련 정보