파일의 처음 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 one-liner 사용 :

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위의 명령은 각 공백, 대시 및 슬래시를 개행 문자로 바꾸고( 옵션을 사용하여 여러 개의 연속 개행 문자를 제거) 첫 번째 세 줄을 한 줄에 하나의 단어로 분할한 tr다음 이 분할로 생성된 줄 수를 계산합니다. .

좀 더 자연스러운 표현을 사용하면 단어가 head -n 3 file | wc -w나올 것입니다 25. 이는 공백으로 구분된 단어만 계산하고 및 둘 다를 단일 단어로 wc -w간주하기 때문입니다 .Unix-LikeGNU/Linux

답변3

GNU grep또는 호환 가능:

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

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

답변4

head -n 4 myfile | wc -w

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

관련 정보