计算文件中一行中的单词数,但忽略Enter键

时间:2017-07-25 07:02:16

标签: shell unix awk scripting

我使用下面的命令来计算行中的单词数,但是它给出了单词的数量加上一个作为输出。

awk '{ print length($0); }' abc.txt

如何在计算一行中的单词数时忽略最后一个字符或输入键?

3 个答案:

答案 0 :(得分:1)

不提供字符

awk '{ print length($0); }' abc.txt

没有单词,其中字段分隔符是单个空格

awk '{ print NF; }' abc.txt

答案 1 :(得分:1)

也许您可以像NF这样使用awk变量?

  echo "this is a test" | awk '{print NF}'

打印4

我不确定你期望从印刷整体的长度中得到什么。这将为您提供字符数。不是单词的数量。

答案 2 :(得分:0)

这个 awk 脚本应该可以工作:

#!/usr/bin/awk -f

BEGIN { num=0 }
{
    num=num + NF
}
END {print num}