Command-Line-Interface

為什麼wc -c總是多算1個字元?

  • March 12, 2017

tmp我輸入一個字元,但wc -c顯示2,為什麼?

因為換行符也是字元。告訴您的文本編輯器不要在文件末尾添加一個。不,我不知道怎麼做。

一種方法是tr刪除換行符,然後您可以計算字元數。

標準行為:

echo HELLO | wc -m
# result: 6
echo -n HELLO | wc -m
# result: 5

要顯示找到的換行符的計數:

echo HELLO | wc -l
# result: 1
echo -n HELLO | wc -l
# result: 0

去除換行符併計算字元數:

echo HELLO | tr -d '\n' | wc -m
# result: 5

去除換行符(以及可能的返回\r)併計算輸入文件的字元數:

tr -d '\n\r' < input.txt | wc -m

引用自:https://serverfault.com/questions/287370