我需要在UNIX shell脚本中统计文件中的行数,但我需要80个字符以下的行数,如果有超过80个字符,则需要count它作为多行。具有行长限制的UNIX wc -l
我知道wc -l统计行数,而且我知道没有任何选项可以指定这种事情,那么我该怎么做呢?
我需要在UNIX shell脚本中统计文件中的行数,但我需要80个字符以下的行数,如果有超过80个字符,则需要count它作为多行。具有行长限制的UNIX wc -l
我知道wc -l统计行数,而且我知道没有任何选项可以指定这种事情,那么我该怎么做呢?
这可能会做你想要什么:
sed -r 's,(.{80}),\1\n,g' filename | wc -l
你并不需要一个捕获组。 'sed -r's /。{80} /&\ n/g'' – 2011-03-08 17:29:02
虽然fold
答案最符合UNIX方式:
awk '{n += 1+int(length/80)} END {print n}' filename
+1:这比我的sed滥用好很多 – Erik 2011-03-08 17:05:29
@Erik:嘿 - 无论什么作品。 ;-) – 2011-03-08 17:06:37
太棒了!感谢您的快速回复! – skeggse 2011-03-08 17:12:16