Linux:awk进行行列转换操作

一、案例一

样本数据

bash 复制代码
name age
alice 21
ryan 30

命令

bash 复制代码
awk '{for(i=1;i<=NF;i++){arr[i]=arr[i]" "$i}}END{for(i=1;i<=NF;i++)print arr[i]}' a.txt

awk是按行读取文本数据的,且每次读取一行,默认按空格分割。

所以,这里的for只需要一层即可。

效果

案例二

样本数据

bash 复制代码
74683 1001
74683 1002
74683 1011
74684 1000
74684 1001
74684 1002
74685 1001
74685 1011
74686 1000

命令

bash 复制代码
awk '{if($1 in arr)arr[$1]=arr[$1]" "$2;else arr[$1]=$2}END{for(i in arr)printf "%s %s\n",i,arr[i]}' a.txt

这个行专列,类似于MySQLgroup by效果

效果

相关推荐
chatexcel43 分钟前
元空AI+Clawdbot:7×24 AI办公智能体新形态详解(长期上下文/自动化任务/工具粘合)
运维·人工智能·自动化
kida_yuan1 小时前
【Linux】运维实战笔记 — 我常用的方法与命令
linux·运维·笔记
@syh.1 小时前
【linux】进程控制
linux
2603_949462102 小时前
Flutter for OpenHarmony社团管理App实战:预算管理实现
android·javascript·flutter
何中应3 小时前
vmware的linux虚拟机如何设置以命令行方式启动
linux·运维·服务器
江畔何人初3 小时前
kubernet与docker的关系
linux·运维·云原生
bubuly4 小时前
软件开发全流程注意事项:从需求到运维的全方位指南
大数据·运维·数据库
百炼成神 LV@菜哥4 小时前
Kylin Linux V10 aarch64 安装启动 TigerVNC-Server
linux·服务器·kylin
王泰虎4 小时前
安卓开发日记,因为JCenter 关闭导致加载不了三方库应该怎么办
android
佑白雪乐4 小时前
<Linux基础11集>电流+二极管+晶体管+存储器
linux