awk之行与列的count & sum命令总汇
来源:互联网 发布:北京 气象站数据 编辑:程序博客网 时间:2024/06/05 03:45
文本:
10 11 12 13 14
15
16 17 18 19
20 21
22 23 24 25
1) 每行字段数
awk '{print NF}' file
2) 最大字段数
awk '{max=max<NF?NF:max}END{print max}' file
3) 总共字段个数
awk '{x+=NF}END{print x}' file
4) 所有字段的总和
awk '{for(i=1;i<=NF;i++)x+=$i}END{print x}' file
5) 各行的总和
awk '{x=0;for(i=1;i<=NF;i++){x+=$i};print x}' file
6) 各列的总和
awk '{for(i=1;i<=NF;i++){a[i]+=$i}}END{l=asorti(a,b);for(j=1;j<=l;j++){printf ("%d ",a[b[j]])}printf "\n"}' file
awk '{for(i=1;i<=NF;i++){a[i]+=$i};l=l<NF?NF:l}END{for(j=1;j<=l;j++) printf a[j]" ";printf "\n"}' file
awk '{for(i=1;i<=NF;i++)a[i]+=$i}END{l=length(a);for(j=1;j<=l;j++) printf a[j]" ";printf "\n"}' file
7) 行列交换
awk '{for(i=1;i<=NF;i++)a[NR,i]=$i;max=max<NF?NF:max}END{for(i=1;i<=max;i++){for(j=1;j<=NR;j++){if(length(a[j,i]))printf a[j,i]" "};printf "\n"}}' file
也可以空格补齐
awk '{for(i=1;i<=NF;i++)a[NR,i]=$i;x=x<NF?NF:x}END{for(i=1;i<=x;i++){for(j=1;j<=NR;j++){printf length(a[j,i])?a[j,i]" ":"
- awk之行与列的count & sum命令总汇
- 使用awk命令获取命令或文本的行、列
- COUNT(*)与COUNT(列名)的区别
- oracle count(*)与count(列)的困扰
- 使用awk命令获取文本的某一行,某一列
- count(1)、count(*)与count(列名)的执行区别
- Mysql中sum()与count()的区别
- Oracle ——count(*) 与count(列名)的区别
- linux 基本命令之AWK 算sum/avg/max/min
- Linux:使用awk命令获取文本的某一行,某一列
- Linux:使用awk命令获取文本的某一行,某一列
- Linux:使用awk命令获取文本的某一行,某一列
- Linux:使用awk命令获取文本的某一行,某一列
- 用awk命令计算文件中某一列的总和
- linux的awk命令按列解析学习总结
- awk 合并相同列的行
- Oracle count(*)与count(列)对比
- count(列名)与count(*)说明
- OGNL 表达式
- 《数学之美》书摘
- 南阳OJ105
- leetcode:Minimum Path Sum(路线上元素和的最小值)【面试算法题】
- c/c++ 复习基础要点01-const指针、指针函数 函数指针、new/delete与malloc/free区别与联系
- awk之行与列的count & sum命令总汇
- poj 2433 Landscaping 贪心
- VC6操作XLS
- Uninstall GOM Player with WindowsUninstaller.Org Removal Tips
- 【cocos2d-x】公告栏的实现-文字左右移动
- 史上最强最全VC6.0到VS2013全部版本下载地址
- 【cocos2d-x】无限重复动作-新手引导箭头上下移动
- android -- WatchDog看门狗分析
- ArrayList/List 泛型集合