특정 열에서 단어의 문자 수를 어떻게 얻습니까? 열 단어의 문자 수는 어떻게 알

다음과 같은 CSV 파일이 있습니다.

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

세 번째 열 단어의 문자 수는 어떻게 알 수 있습니까?

wc이 작업을 수행 하는 방법을 알 수 없습니다 .



답변

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

)


답변

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


답변

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


답변

cut -d, -f3 <<\DATA | grep -o . | grep -c .
abd,123,egypt,78
cde,456,england,45
DATA

#OUTPUT
12


답변

당신은 또한 사용할 수 있습니다

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


답변

펄에서 :

perl -F, -Mopen=:locale -lane 'print length $F[2]' your_file


답변

샘플 파일을 다음과 같이 사용하십시오.

$ cat sample.txt 
abd,123,egypt,78
cde,456,england,45

$ awk -F, '{print $3}' sample.txt | while read i; do echo "$i" | \
    tr -d '\n' | wc -m; done
5
7

wc각 줄의 수를 알아내는 작업은 까다로울 수 있습니다. 3 열의 각 문자열에 대해 개별적으로 호출해야하므로 원하는 것을하기가 약간 까다로워집니다. CSV의 각 행을 살펴보고 열 3을 추출한 다음 제시 wc하여 문자 수를 가져와야합니다.