Если у меня есть длинный файл с большим количеством строк переменных длин, как я могу считать случаи каждой длины строки?
file.txt
this
is
a
sample
file
with
several
lines
of
varying
length
Выполнение count_line_lengths file.txt
дал бы:
Length Occurences
1 1
2 2
4 3
5 1
6 2
7 2
Идеи?
Если Вы позволяете, чтобы столбцы были подкачаны, и не нуждаетесь в заголовках, что-то столь же легкое, как
while read line; do echo -n $line | wc -m; done < file | sort | uniq -c
(без любых усовершенствованных приемов с sed
или awk
) будет работать. Вывод:
1 1
2 2
3 4
1 5
2 6
2 7
Одна важная вещь иметь в виду: wc -c
количества байты, не символы, и не даст корректную длину для строк, содержащих многобайтовые символы. Поэтому использование wc -m
.
Ссылки: