UNIX wc -l具有行长度限制

时间:2011-03-08 16:58:08

标签: shell unix lines wc

我需要在UNIX shell脚本中计算文件中的行数,但我需要80行以下的行数,如果有超过80个字符,则将其计为多行。

我知道wc -l计算了行数,我知道没有任何选项来指定这种东西,所以我该怎么做呢?

3 个答案:

答案 0 :(得分:8)

使用fold打破行> 80个字符然后将输出传递给wc,例如

$ fold file | wc -l

答案 1 :(得分:1)

这可能会做你想要的:

sed -r 's,(.{80}),\1\n,g' filename | wc -l

答案 2 :(得分:0)

虽然fold答案最适合unix方式:

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