如何计算第一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 行