Linux 中 awk依据某一列来拆分数据
001、直接拆分
[root@PC1 test2]# ls outcome.map [root@PC1 test2]# cat outcome.map ## 准备一个测试文件,依据第一列来拆分文件 1 snp1 0 55910 1 snp2 0 85204 1 snp3 0 122948 2 snp4 0 167127 2 snp5 0 176079 2 snp6 0 361433 3 snp7 0 144010 3 snp8 0 199910 3 snp9 0 234281 4 snp10 0 236366 4 snp11 0 257944 4 snp12 0 281182 5 snp13 0 93955 5 snp14 0 184537 5 snp15 0 204629 [root@PC1 test2]# awk '{print > $1}' outcome.map ## 拆分 [root@PC1 test2]# ls ## 查看拆分效果 1 2 3 4 5 outcome.map [root@PC1 test2]# cat 1 1 snp1 0 55910 1 snp2 0 85204 1 snp3 0 122948 [root@PC1 test2]# cat 3 3 snp7 0 144010 3 snp8 0 199910 3 snp9 0 234281 [root@PC1 test2]# cat 5 5 snp13 0 93955 5 snp14 0 184537 5 snp15 0 204629
002、拆分并重命名
[root@PC1 test2]# ls outcome.map [root@PC1 test2]# cat outcome.map ## 测试文件 1 snp1 0 55910 1 snp2 0 85204 1 snp3 0 122948 2 snp4 0 167127 2 snp5 0 176079 2 snp6 0 361433 3 snp7 0 144010 3 snp8 0 199910 3 snp9 0 234281 4 snp10 0 236366 4 snp11 0 257944 4 snp12 0 281182 5 snp13 0 93955 5 snp14 0 184537 5 snp15 0 204629 [root@PC1 test2]# awk '{print > "test"$1".txt"}' outcome.map ## 拆分并重命名 [root@PC1 test2]# ls outcome.map test1.txt test2.txt test3.txt test4.txt test5.txt [root@PC1 test2]# cat test2.txt 2 snp4 0 167127 2 snp5 0 176079 2 snp6 0 361433
003、 > 在awk内部相当于追加重定向
[root@PC1 test2]# ls outcome.map [root@PC1 test2]# cat outcome.map ## 测试文件 1 snp1 0 55910 5 snp2 0 85204 5 snp3 0 122948 2 snp4 0 167127 2 snp5 0 176079 2 snp6 0 361433 3 snp7 0 144010 3 snp8 0 199910 3 snp9 0 234281 4 snp10 0 236366 4 snp11 0 257944 4 snp12 0 281182 5 snp13 0 93955 5 snp14 0 184537 5 snp15 0 204629 [root@PC1 test2]# awk '{print > $1}' outcome.map ## 5 中间经过2、3、4; 可以观察到 > 的作用并非是清空重定向,而是追加重定向 [root@PC1 test2]# ls 1 2 3 4 5 outcome.map [root@PC1 test2]# cat 1 1 snp1 0 55910 [root@PC1 test2]# cat 5 5 snp2 0 85204 5 snp3 0 122948 5 snp13 0 93955 5 snp14 0 184537 5 snp15 0 204629
。
分类:
linux shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2023-05-12 linux 中 awk命令如何输出双引号和单引号
2023-05-12 linux 中 创建环境变量若干方法
2023-05-12 ubuntu 中解决目录名称过长的问题
2023-05-12 linux 中 export命令
2023-05-12 linux 中xargs 命令
2022-05-12 R语言绘图控制表框类型bty
2022-05-12 ggplot2中geom_segment函数的用法