파일의 처음 n 라인에 있는 총 단어 수를 계산하는 유닉스 명령을 작성하시겠습니까?

파일의 처음 n 라인에 있는 총 단어 수를 계산하는 유닉스 명령을 작성하시겠습니까?

3첫 번째 줄의 단어 수를 계산하는 방법은 무엇입니까 ?

입력하다:

There are many systems which are Unix-like in their architecture. 
Not able among these are the GNU/Linux distributions. 
The distinctions between Unix and Unix-like systems.
For distinctions between SUS branded UNIX architectures and other similar architectures, see Unix-like.

산출:28

답변1

한 줄에 awk를 사용하십시오.

awk ' { gsub("[-/]"," ") } NR<4 { w+=NF };END { print w }' <filename>

답변2

$ head -n 3 file | tr -s '/ -' '\n\n\n' | wc -l
      28

공백, 대시 및 슬래시로 단어를 구분하면 28해당 텍스트의 처음 세 줄에 대한 개수가 표시됩니다.

위 명령은 각 공백, 대시 및 슬래시를 개행 문자로 대체하여(그리고 -s여러 개의 연속 개행 문자를 제거하기 위해 with 옵션을 사용하여 tr) 처음 세 줄을 한 줄에 하나의 단어로 분할한 다음 이 분할을 계산하여 생성된 행 수를 계산합니다.

좀 더 자연스러운 단어를 사용하면 단어를 head -n 3 file | wc -w얻을 수 있습니다 25. wc -w공백으로 구분된 단어만 계산되고 그 합이 하나의 단어 Unix-Like로 처리되기 때문입니다 .GNU/Linux

답변3

GNU grep또는 호환 제품을 사용하세요.

<myfile head -n 3 | grep -aEo '\w+' | wc -l

성격이 경우 하나 이상의 영숫자 문자 또는 밑줄의 시퀀스입니다.

답변4

head -n 4 myfile | wc -w

myfile은 입력 파일이고, 4는 처음 4줄입니다.

관련 정보