如何取得特定列中單字的字元數?

如何取得特定列中單字的字元數?

我有一個這樣的 CSV 檔案:

abd,123,egypt,78
cde,456,england,45

如何取得僅第三列單字的字元數?

我不知道如何wc做到這一點。

答案1

cut -d, -f3 | tr -d '\n' | wc -m

(記得計算wc -c位元組數,而不是字元數:

$ echo a,1,españa,2 | cut -d, -f3 | tr -d '\n' | wc -c
7
$ echo a,1,españa,2 | cut -d, -f3 | tr -d '\n' | wc -m
6

答案2

awk -F, '{sum+=length($3)}; END {print +sum}' file

答案3

一個perl辦法:

perl -Mopen=:locale -F, -anle '$sum += length($F[2]); END{print $sum}' file

或更短的版本:

perl -Mopen=:locale -F, -anle '$sum += length($F[2])}{print $sum' file

答案4

你也可以使用

awk -F, '{printf "%s", $3}' file | wc -m

相關內容