UNIX wc -l с ограничением длины строки - PullRequest
2 голосов
/ 08 марта 2011

Мне нужно подсчитать количество строк в файле в сценарии оболочки UNIX, но мне нужно количество строк до 80 символов, а если количество символов превышает 80, оно считается как несколько строк.

Я знаю, что wc -l подсчитывает количество строк, и я знаю, что нет никаких опций для указания такого рода вещей, так как бы я это сделал?

Ответы [ 3 ]

8 голосов
/ 08 марта 2011

Используйте fold , чтобы разбить строки> 80 символов, а затем перенаправить вывод в wc , например,

$ fold file | wc -l
1 голос
/ 08 марта 2011

Это может делать то, что вы хотите:

sed -r 's,(.{80}),\1\n,g' filename | wc -l
0 голосов
/ 08 марта 2011

В то время как ответ fold лучше всего подходит для Unix:

awk '{n += 1+int(length/80)} END {print n}' filename
...