다음과 같은 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
하여 문자 수를 가져와야합니다.