특정 열에 있는 단어의 문자 수를 어떻게 얻나요?

특정 열에 있는 단어의 문자 수를 어떻게 얻나요?

다음과 같은 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

관련 정보