次の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