У меня есть 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