计算linux中的单词数量

时间:2013-11-25 19:10:23

标签: linux count

我的文件行的格式为:1,4,2,3,2等 我想计算这一行中的元素(数字)的数量。我尝试使用wc命令,但是wc -L似乎计算了我的行中的所有元素(包括逗号),wc返回行数。我怎样才能得到我想要的结果?

3 个答案:

答案 0 :(得分:2)

如果您想获得一行的数字(即“单词”):

echo '1, 2, 3, 4, 5' | wc -w

这将输出5

如果您想获得给定文件中每一行的计数,可以在while循环中执行此操作:

while read line; do echo $line | wc -w; done < your_file

这将在新行上输出文件中每行的计数(因此,第一行输出行对应于文件中的第一行等)。

如果您的行不包含空格并且直接以逗号分隔,例如1,2,3,4,5,则可以使用tr将逗号替换为空格,以使“单词计数”功能具有相同的方式:

echo '1,2,3,4,5' | tr ',' ' ' | wc -w

while read line; do echo $line | tr ',' ' ' | wc -w; done < your_file

答案 1 :(得分:1)

使用wc -w计算单词。还有-c表示字节,-l表示行,-m表示字符。 -L代表最长线的长度。

答案 2 :(得分:1)

在计算数字之前删除,

cat file | tr -d ',' | wc -c

wc -c计算文件/流中的字符数。)

但是,仅当数字都是单个数字时才会起作用。如果没有,我会使用awk

awk -FS',' '{c+=NF}END{print c}' file