文本:
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]" ":"

本文深入探讨了文本数据处理的关键技术,包括字段数量分析、数据求和、行列交换等,同时介绍了如何通过信息技术手段优化数据管理和分析过程。

911

被折叠的 条评论
为什么被折叠?



