질문 라인 뒤의 답변에 사용된 단어 수를 세어보세요.

질문 라인 뒤의 답변에 사용된 단어 수를 세어보세요.

입력 예:

Question1: What kind of cake do you like?
Anything with sprinkles

출력 예:

Question1: What kind of cake do you like?
3 Anything with sprinkles

유일한 표시는 "Questionx:" 및 "?"입니다. 대답은 항상 질문 뒤에 따릅니다. 이것은 나에게 짜증나지만(/?$/를 찾으세요), 단어 수($NF)와 잘 어울리는 여러 줄 측면을 얻을 수 없습니다. perl/python/php 등과 같은 다른 언어도 사용할 수 있지만 단순한 한 줄짜리 프로그램은 작성하지 않으려고 노력하고 있습니다.

답변1

위의 내 의견에 대한 답변을 기다리고 있습니다.

awk '/^Question[0-9]+:.*\?$/ {print; next} {print NF, $0}'

또는

awk '{printf "%s%s\n", (/^Question[0-9]+:.*\?$/ ? "" : NF " "), $0}'

답변2

그러면 각 질문의 "단어" 수가 개별적으로 제공됩니다.

awk '/^Question/ {if (NR > 0) print words; words=0} $0 !~ /^Question/ {words+=NF}' /path/to/input

설명하는 대로 질문과 줄당 단어 수를 인쇄하려면 다음을 수행하세요.

awk '/^Question/ {print} $0 !~ /^Question/ {print NF, $0}' /path/to/input

각 행의 숫자 접두어를 누적되게 만듭니다.

awk '/^Question/ {words=0; print} $0 !~ /^Question/ {words+=NF; print words, $0}' /path/to/input

관련 정보