特定の列の単語文字数を取得するには?

特定の列の単語文字数を取得するには?

次のCSVファイルがあります。

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

3列目の単語の文字数だけを取得する方法は?

私はこれを行う方法がわかりません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

関連情報