Wie erhalte ich die Zeichenanzahl der Wörter in einer bestimmten Spalte?

Wie erhalte ich die Zeichenanzahl der Wörter in einer bestimmten Spalte?

Ich habe eine CSV-Datei wie diese:

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

Wie kann ich die Zeichenanzahl nur der Wörter der 3. Spalte ermitteln?

Ich kann nicht herausfinden, wie ich wcdas hinbekomme.

Antwort1

cut -d, -f3 | tr -d '\n' | wc -m

(Denken Sie daran, dass wc -cBytes gezählt werden, nicht Zeichen:

$ 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

)

Antwort2

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

Antwort3

Eine perlLösung:

perl -Mopen=:locale -F, -anle '$sum += length($F[2]); END{print $sum}' file

oder eine kürzere Version:

perl -Mopen=:locale -F, -anle '$sum += length($F[2])}{print $sum' file

Antwort4

Sie können auch

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

verwandte Informationen