Длины строки количества в файле с помощью инструментов командной строки

Проблема

Если у меня есть длинный файл с большим количеством строк переменных длин, как я могу считать случаи каждой длины строки?

Пример:

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

Идеи?

60
задан 25 May 2013 в 20:06

1 ответ

Если Вы позволяете, чтобы столбцы были подкачаны, и не нуждаетесь в заголовках, что-то столь же легкое, как

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.

Ссылки:

человек uniq (1)

вид человека (1)

туалет человека (1)

0
ответ дан 1 November 2019 в 10:01

Другие вопросы по тегам:

Похожие вопросы: