- 论坛徽章:
- 0
|
本帖最后由 yufeiluo 于 2017-04-12 11:44 编辑
获得一个文件的空格数量
awk '{num=num+gsub(/ /,"")}END{printf num}' filename
也以行为单位,按照字节进行遍历
export LC_ALL=C
awk 'BEGIN{FS=""}{for(i=1;i<=NF;++i)if($i~/[\x20]/){num++}}END{printf num}' test
这种方法,无法数出有多少个 0a .
(wc -l test ;awk '{print NR}' test)都可以,但我讨论的是:可否以字节为单位,对一个文件进行遍历。
因为
export LC_ALL=C
awk 'BEGIN{FS=""}{for(i=1;i<=NF;++i)if($i~/[\x20]/){num++}}END{printf num}' test
是按照字节,以行为单位,进行16进制的遍历。
可否按照字节,以整篇文章单位,进行16进制的遍历。
注意:你可能会说,一行一行跑完不就是整篇遍历了。
我可否将整篇文章连接成一个操作对象?
不可以合并行,合并行后,换行符号删除了。
或者说:我想用awk ,通过匹配 0a的方式来获得一篇文章有多少行?
export LC_ALL=C
awk 'BEGIN{FS=""}{for(i=1;i<=NF;++i)if($i~/[\x0a]/){num++}}END{printf num}' test
这个方法不行,因为awk一行一行操作,每行最后不是 0a .
|
|