簡體   English   中英

計算linux中的單詞數量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM