linux 中split命令实现按行拆分文件
1、测试数据
root@PC1:/home/test# ls test.map root@PC1:/home/test# cat test.map 01 SNP01 55910 02 SNP02 85204 03 SNP03 122948 04 SNP04 203750 05 SNP05 312707 06 SNP06 356863 07 SNP07 400518 08 SNP08 487423 09 SNP09 578716 10 SNP10 639876 11 SNP11 739050 12 SNP12 775181 13 SNP13 782445 14 SNP14 902647 15 SNP15 988021 16 SNP16 1146615 17 SNP17 1184243 18 SNP18 1235261 19 SNP19 1385609 20 SNP20 1401384
2、split -l 或者 split -实现按行拆分文件
实现按每10行拆分test.map。
root@PC1:/home/test# ls test.map root@PC1:/home/test# cat test.map 01 SNP01 55910 02 SNP02 85204 03 SNP03 122948 04 SNP04 203750 05 SNP05 312707 06 SNP06 356863 07 SNP07 400518 08 SNP08 487423 09 SNP09 578716 10 SNP10 639876 11 SNP11 739050 12 SNP12 775181 13 SNP13 782445 14 SNP14 902647 15 SNP15 988021 16 SNP16 1146615 17 SNP17 1184243 18 SNP18 1235261 19 SNP19 1385609 20 SNP20 1401384 root@PC1:/home/test# split -l 10 test.map ## 按照每10行拆分文件 root@PC1:/home/test# ls ## 默认生成的文件是以xaa、xab依次递增的形式命名 test.map xaa xab root@PC1:/home/test# cat xaa ##查看生成文件 01 SNP01 55910 02 SNP02 85204 03 SNP03 122948 04 SNP04 203750 05 SNP05 312707 06 SNP06 356863 07 SNP07 400518 08 SNP08 487423 09 SNP09 578716 10 SNP10 639876 root@PC1:/home/test# cat xab 11 SNP11 739050 12 SNP12 775181 13 SNP13 782445 14 SNP14 902647 15 SNP15 988021 16 SNP16 1146615 17 SNP17 1184243 18 SNP18 1235261 19 SNP19 1385609 20 SNP20 1401384
split - 等价于split -l:
root@PC1:/home/test# ls test.map root@PC1:/home/test# cat test.map 01 SNP01 55910 02 SNP02 85204 03 SNP03 122948 04 SNP04 203750 05 SNP05 312707 06 SNP06 356863 07 SNP07 400518 08 SNP08 487423 09 SNP09 578716 10 SNP10 639876 11 SNP11 739050 12 SNP12 775181 13 SNP13 782445 14 SNP14 902647 15 SNP15 988021 16 SNP16 1146615 17 SNP17 1184243 18 SNP18 1235261 19 SNP19 1385609 20 SNP20 1401384 root@PC1:/home/test# split -10 test.map ## 按照每10行拆分文件 root@PC1:/home/test# ls test.map xaa xab root@PC1:/home/test# cat xaa 01 SNP01 55910 02 SNP02 85204 03 SNP03 122948 04 SNP04 203750 05 SNP05 312707 06 SNP06 356863 07 SNP07 400518 08 SNP08 487423 09 SNP09 578716 10 SNP10 639876 root@PC1:/home/test# cat xab 11 SNP11 739050 12 SNP12 775181 13 SNP13 782445 14 SNP14 902647 15 SNP15 988021 16 SNP16 1146615 17 SNP17 1184243 18 SNP18 1235261 19 SNP19 1385609 20 SNP20 1401384
3、按照每五行拆分文件
root@PC1:/home/test# ls test.map root@PC1:/home/test# cat test.map 01 SNP01 55910 02 SNP02 85204 03 SNP03 122948 04 SNP04 203750 05 SNP05 312707 06 SNP06 356863 07 SNP07 400518 08 SNP08 487423 09 SNP09 578716 10 SNP10 639876 11 SNP11 739050 12 SNP12 775181 13 SNP13 782445 14 SNP14 902647 15 SNP15 988021 16 SNP16 1146615 17 SNP17 1184243 18 SNP18 1235261 19 SNP19 1385609 20 SNP20 1401384 root@PC1:/home/test# split -l 5 test.map ## 按照每5行拆分测试文件 root@PC1:/home/test# ls test.map xaa xab xac xad root@PC1:/home/test# cat xaa 01 SNP01 55910 02 SNP02 85204 03 SNP03 122948 04 SNP04 203750 05 SNP05 312707 root@PC1:/home/test# cat xab 06 SNP06 356863 07 SNP07 400518 08 SNP08 487423 09 SNP09 578716 10 SNP10 639876 root@PC1:/home/test# cat xac 11 SNP11 739050 12 SNP12 775181 13 SNP13 782445 14 SNP14 902647 15 SNP15 988021 root@PC1:/home/test# cat xad 16 SNP16 1146615 17 SNP17 1184243 18 SNP18 1235261 19 SNP19 1385609 20 SNP20 1401384
4、指定生成文件的前缀
root@PC1:/home/test# ls test.map root@PC1:/home/test# cat test.map 01 SNP01 55910 02 SNP02 85204 03 SNP03 122948 04 SNP04 203750 05 SNP05 312707 06 SNP06 356863 07 SNP07 400518 08 SNP08 487423 09 SNP09 578716 10 SNP10 639876 11 SNP11 739050 12 SNP12 775181 13 SNP13 782445 14 SNP14 902647 15 SNP15 988021 16 SNP16 1146615 17 SNP17 1184243 18 SNP18 1235261 19 SNP19 1385609 20 SNP20 1401384 root@PC1:/home/test# split -l 10 test.map sub ## 指定生成的文件的前缀是sub root@PC1:/home/test# ls subaa subab test.map root@PC1:/home/test# cat subaa 01 SNP01 55910 02 SNP02 85204 03 SNP03 122948 04 SNP04 203750 05 SNP05 312707 06 SNP06 356863 07 SNP07 400518 08 SNP08 487423 09 SNP09 578716 10 SNP10 639876 root@PC1:/home/test# cat subab 11 SNP11 739050 12 SNP12 775181 13 SNP13 782445 14 SNP14 902647 15 SNP15 988021 16 SNP16 1146615 17 SNP17 1184243 18 SNP18 1235261 19 SNP19 1385609 20 SNP20 1401384
root@PC1:/home/test# ls test.map root@PC1:/home/test# cat test.map 01 SNP01 55910 02 SNP02 85204 03 SNP03 122948 04 SNP04 203750 05 SNP05 312707 06 SNP06 356863 07 SNP07 400518 08 SNP08 487423 09 SNP09 578716 10 SNP10 639876 11 SNP11 739050 12 SNP12 775181 13 SNP13 782445 14 SNP14 902647 15 SNP15 988021 16 SNP16 1146615 17 SNP17 1184243 18 SNP18 1235261 19 SNP19 1385609 20 SNP20 1401384 root@PC1:/home/test# split -l 8 test.map prefix ## 指定前缀为prefix root@PC1:/home/test# ls prefixaa prefixab prefixac test.map root@PC1:/home/test# cat prefixaa 01 SNP01 55910 02 SNP02 85204 03 SNP03 122948 04 SNP04 203750 05 SNP05 312707 06 SNP06 356863 07 SNP07 400518 08 SNP08 487423 root@PC1:/home/test# cat prefixab 09 SNP09 578716 10 SNP10 639876 11 SNP11 739050 12 SNP12 775181 13 SNP13 782445 14 SNP14 902647 15 SNP15 988021 16 SNP16 1146615 root@PC1:/home/test# cat prefixac 17 SNP17 1184243 18 SNP18 1235261 19 SNP19 1385609 20 SNP20 1401384
5、-d参数指定后缀按照数字递增
root@PC1:/home/test# ls test.map root@PC1:/home/test# cat test.map 01 SNP01 55910 02 SNP02 85204 03 SNP03 122948 04 SNP04 203750 05 SNP05 312707 06 SNP06 356863 07 SNP07 400518 08 SNP08 487423 09 SNP09 578716 10 SNP10 639876 11 SNP11 739050 12 SNP12 775181 13 SNP13 782445 14 SNP14 902647 15 SNP15 988021 16 SNP16 1146615 17 SNP17 1184243 18 SNP18 1235261 19 SNP19 1385609 20 SNP20 1401384 root@PC1:/home/test# split -l 5 -d test.map sub_ ## 按每5行拆分文件, 前缀为sub_, -d参数指定后缀按照数字递增 root@PC1:/home/test# ls sub_00 sub_01 sub_02 sub_03 test.map root@PC1:/home/test# cat sub_00 01 SNP01 55910 02 SNP02 85204 03 SNP03 122948 04 SNP04 203750 05 SNP05 312707 root@PC1:/home/test# cat sub_01 06 SNP06 356863 07 SNP07 400518 08 SNP08 487423 09 SNP09 578716 10 SNP10 639876 root@PC1:/home/test# cat sub_02 11 SNP11 739050 12 SNP12 775181 13 SNP13 782445 14 SNP14 902647 15 SNP15 988021 root@PC1:/home/test# cat sub_03 16 SNP16 1146615 17 SNP17 1184243 18 SNP18 1235261 19 SNP19 1385609 20 SNP20 1401384
分类:
linux shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律