linux中实现将连续的多列数据合并为指定列数据
1、测试数据
root@DESKTOP-1N42TVH:/home/test# ls a.txt root@DESKTOP-1N42TVH:/home/test# cat a.txt 01 02 03 04 05 06 07 08 09 11 12 13 14 15 16 17 18 19
2、实现将连续的三列数据合并为一列数据
root@DESKTOP-1N42TVH:/home/test# ls a.txt root@DESKTOP-1N42TVH:/home/test# cat a.txt 01 02 03 04 05 06 07 08 09 11 12 13 14 15 16 17 18 19 root@DESKTOP-1N42TVH:/home/test# for i in `head -n 1 a.txt | awk '{print NF}' | xargs seq`; do cut -d " " -f $i a.txt | paste -s -d " " >> temp1; done root@DESKTOP-1N42TVH:/home/test# ls a.txt temp1 root@DESKTOP-1N42TVH:/home/test# cat temp1 ## 转置后数据 01 11 02 12 03 13 04 14 05 15 06 16 07 17 08 18 09 19 root@DESKTOP-1N42TVH:/home/test# awk '{if(NR % 3 == 0) {print $0} else {printf("%s ", $0)}}' temp1 > temp2 ## 每三行合并为一行 root@DESKTOP-1N42TVH:/home/test# ls a.txt temp1 temp2 root@DESKTOP-1N42TVH:/home/test# cat temp2 01 11 02 12 03 13 04 14 05 15 06 16 07 17 08 18 09 19 root@DESKTOP-1N42TVH:/home/test# for i in `head -n 1 temp2 | awk '{print NF}' | xargs seq`; do cut -d " " -f $i temp2 | paste -s -d " " >> result; done root@DESKTOP-1N42TVH:/home/test# ls a.txt result temp1 temp2 root@DESKTOP-1N42TVH:/home/test# cat a.txt 01 02 03 04 05 06 07 08 09 11 12 13 14 15 16 17 18 19 root@DESKTOP-1N42TVH:/home/test# cat result ## 最终结果 01 04 07 11 14 17 02 05 08 12 15 18 03 06 09 13 16 19
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-01-08 c语言中对数组元素进行倒序排列
2021-01-08 c语言中利用键盘输入数组元素的值
2021-01-08 c语言中数组的复制
2021-01-08 C语言中生成数组
2021-01-08 c语言中循环语句汇总
2021-01-08 c语言中continue语句
2021-01-08 c语言绘制倒立金字塔