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效果

效果

相关推荐
mCell5 分钟前
可观测性实战:Prometheus + Grafana 全栈监控
运维·后端·google
huaCodeA9 分钟前
Android面试-Flow相关
android·面试·职场和发展
zzzyyy53813 分钟前
利用AI整理进程池创建的思路和细节
linux
繁星星繁13 分钟前
Python基础语法(二)
android·服务器·python
Lang-121028 分钟前
Frida + Android Hook 完整指南
android·逆向·hook·frida
fan654041430 分钟前
GEO服务商技术评估的四维量化框架:以杭州文澜天下科技为例
运维·人工智能·科技
jzlhll12334 分钟前
Kotlin 协程高级用法之 NonCancellable
android·开发语言·kotlin
Lalolander44 分钟前
设备工程项目如何高效管理项目进度与成本?
大数据·运维·设备工程项目管理·设备工程项目成本管理·工程项目进度管理
lxysbly1 小时前
2026 年 Android PSV模拟器下载推荐(汉化版)
android
zandy10111 小时前
2026 主流技术栈:hermes agent多环境安装配置:Windows/Mac/Linux
linux·windows·macos