[英]counting number of words in linux
我有一個文件的行具有格式:1,4,2,3,2等我想計算這一行中的元素(數字)的數量。 我嘗試使用wc命令,但是wc -L似乎計算了我的行中的所有元素(包括逗號),wc返回行數。 我怎樣才能得到我想要的結果?
如果您想獲得一行的數字(即“單詞”):
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
使用wc -w
來計算單詞。 還有-c表示字節,-l表示行,-m表示字符。 -L代表最長線的長度。
取出,
計數的數字之前:
cat file | tr -d ',' | wc -c
( wc -c
計算文件/流中的字符數。)
但是,只有當數字都是單個數字時,這才有效。 如果沒有,我會使用awk
:
awk -FS',' '{c+=NF}END{print c}' file
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.