文本:
复制代码
1) 每行字段数
复制代码
2) 最大字段数
复制代码
3) 总共字段个数
复制代码
4) 所有字段的总和
复制代码
5) 各行的总和
复制代码
6) 各列的总和
复制代码
7) 行列交换
复制代码
或者以空格补齐空白处
复制代码
- 10 11 12 13 14
- 15
- 16 17 18 19
- 20 21
- 22 23 24 25
- awk '{print NF}' file
- 5
- 1
- 4
- 2
- 4
- awk '{x=x<NF?NF:x}END{print x}' file
- 5
- awk '{x+=NF}END{print x}' file
- 16
- awk '{for(i=1;i<=NF;i++)x+=$i}END{print x}' file
- 280
- awk '{x=0;for(i=1;i<=NF;i++){x+=$i};print x}' file
- 60
- 15
- 70
- 41
- 94
- 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
- 83 72 54 57 14
- 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++){if(length(a[j,i]))printf a[j,i]" "};printf "\n"}}' file
- 10 15 16 20 22
- 11 17 21 23
- 12 18 24
- 13 19 25
- 14
- 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]" ":" "};printf "\n"}}' file
- 10 15 16 20 22
- 11 17 21 23
- 12 18 24
- 13 19 25
- 14
简单做个总结,希望有用的朋友保留。欢迎大家指出漏洞和不足。
转载:http://bbs.chinaunix.net/thread-2318658-1-1.html