2013-11-25 56 views
1

我有一個文件的行格式爲:1,4,2,3,2等。 我想計算這一行中元素(數字)的數量。我嘗試過使用wc命令,但wc -L似乎計算了我行中的所有元素(包括逗號),並且wc返回了行數。我怎樣才能得到我想要的結果?在linux中計算字數

回答

2

::如果沒有,我會用awk

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

使用wc -w來計算單詞。還有-c用於字節,-l用於行,-m用於字符。 -L是最長線的長度。

1

計數的數字之前取出,

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

wc -c計數的文件/流的字符數。)

然而,這將只工作如果數字都是單數。如果你想獲得的數字(即「言」)的計數單行

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