如何計算第一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
使用 GNUgrep
或相容:
<myfile head -n 3 | grep -aEo '\w+' | wc -l
字在這種情況下,是一個或多個字母數字字元或底線的序列。
答案4
head -n 4 myfile | wc -w
myfile 是輸入文件,4 是前 4 行