入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

判断Linux 输出每行的列数个数

创建时间:2017-06-01 投稿人: 浏览次数:865

之前在做采集软件版本号的时候,碰到了如下格式yum list installed输出格式如下,有些行只有一个名称,有些行只有版本号的情况,这样给我们带来了比较大的解析成本。

解决方法:因为每三个虽然岁在行不一样,其实内容的类型是一样的,所以我们用

 yum list installed |sed -n "3,$p"|awk "{a+=NF}END{print a}"  统计下 输出结果2838刚好有这么多个行*列=2838能被3整除 所以我们可以判断下:读取每行的时候如果NF(列个数)为1我们就在a变量累加1,如果为2就累加2,当刚好加到3能被3整除的时候   我们就换行,具体如下请看代码:  yum list installed |sed -n "3,$p"| awk "{if(NF==1){a++;printf $1" "}else if(NF==2){a+=2;printf $1" "$2" "}else if(NF==3){a+=3;printf $1" "$2" "$3}else{print "ERROR"}; if(a>0 && (a%3)==0){printf " "}}" 

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像