当前位置: 技术问答>linux和unix
请问在Redhat linux企业版下面有没有什么好的方法统计一个文本的列数?
来源: 互联网 发布时间:2016-11-22
本文导语: 请问在Redhat linux企业版下面有没有什么好的方法统计一个文本的列数? 文本格式如下: "a1","a2","a3","a4" "b1","b2","b3","b4" 文本中任何一行的列数都相同,请问有没有什么办法统计这个格式的文本的列数?? ...
请问在Redhat linux企业版下面有没有什么好的方法统计一个文本的列数?
文本格式如下:
"a1","a2","a3","a4"
"b1","b2","b3","b4"
文本中任何一行的列数都相同,请问有没有什么办法统计这个格式的文本的列数??
文本格式如下:
"a1","a2","a3","a4"
"b1","b2","b3","b4"
文本中任何一行的列数都相同,请问有没有什么办法统计这个格式的文本的列数??
|
你是说以逗号分割的列 还是一个字符一个字符就算一列
如果是前者 可以这样
awk -F, '{print NF;exit}' filename
如果是前者 可以这样
awk -F, '{print NF;exit}' filename
|
awk 这个很好很强大
因为淘宝实习生笔试是考到这个,下来好好学习了下
$ awk -F, '{printf "row:%d: %dn",NR,NF}' filename
解释:
-F, 指定分隔符",",默认是空格
NR,行号
NF,列号
想学awk的话,推荐你本书
《A Practical Guide to Linux Commands,Editors,and Shell Programming》
Mark G,Sobel 著
书的中文名字我不记得了
因为淘宝实习生笔试是考到这个,下来好好学习了下
$ awk -F, '{printf "row:%d: %dn",NR,NF}' filename
解释:
-F, 指定分隔符",",默认是空格
NR,行号
NF,列号
想学awk的话,推荐你本书
《A Practical Guide to Linux Commands,Editors,and Shell Programming》
Mark G,Sobel 著
书的中文名字我不记得了
|
这个很强大,不过有点问题,这个只能统计第一行的字段数,若果每行字段数不一样就不行了
|
你看楼主说的需求"文本中任何一行的列数都相同"
如果你要统计每行的字段数,那就把exit拿掉
|
很强大,不过楼上说的问题好像不太好解决,mark下
|
学习一下awk、sed grep 等吧,
|
是呀!你统计一行有多少个逗号就好了
|
强烈推荐awk