linux shell实现将每隔一个空格的两列并排为一列
1、测试数据
root@PC1:/home/test# ls outcome.ped root@PC1:/home/test# cat outcome.ped ## 测试数据, 将每隔一个空格的两列并排为一列 G G C C G G G G G A A A G G G C G G G C G G G G G G A A A G C C G G C C G G G G G G A A A G G C G G C C G G G G G G A A G G G G G G C C G G G G G G A A A G G C G G C C G G G G G G A A A A C C G G C C G G A G A A A A G G C C G G C C G G A G A A A A G G C C root@PC1:/home/test# cp outcome.ped outcome.ped_bak ## 备份数据 root@PC1:/home/test# ls outcome.ped outcome.ped_bak
2、sed实现
root@PC1:/home/test# ls outcome.ped outcome.ped_bak root@PC1:/home/test# cat outcome.ped ## 测试数据 G G C C G G G G G A A A G G G C G G G C G G G G G G A A A G C C G G C C G G G G G G A A A G G C G G C C G G G G G G A A G G G G G G C C G G G G G G A A A G G C G G C C G G G G G G A A A A C C G G C C G G A G A A A A G G C C G G C C G G A G A A A A G G C C root@PC1:/home/test# let num=$(head -n 1 outcome.ped | awk '{print NF}')/2 ## 统计列数并确定需要替换的列数 root@PC1:/home/test# echo $num 8 root@PC1:/home/test# for i in `seq $num`; do sed "s/ //$i" outcome.ped -i; done ## 利用sed替换 root@PC1:/home/test# ls outcome.ped outcome.ped_bak root@PC1:/home/test# cat outcome.ped ## 查看替换效果 GG CC GG GG GA AA GG GC GG GC GG GG GG AA AG CC GG CC GG GG GG AA AG GC GG CC GG GG GG AA GG GG GG CC GG GG GG AA AG GC GG CC GG GG GG AA AA CC GG CC GG AG AA AA GG CC GG CC GG AG AA AA GG CC
3、awk 实现
root@PC1:/home/test# ls outcome.ped root@PC1:/home/test# cat outcome.ped G G C C G G G G G A A A G G G C G G G C G G G G G G A A A G C C G G C C G G G G G G A A A G G C G G C C G G G G G G A A G G G G G G C C G G G G G G A A A G G C G G C C G G G G G G A A A A C C G G C C G G A G A A A A G G C C G G C C G G A G A A A A G G C C root@PC1:/home/test# cp outcome.ped outcome.ped_bak ## 备份数据 root@PC1:/home/test# ls outcome.ped outcome.ped_bak root@PC1:/home/test# awk '{for(i = 1; i <= NF; i++) if(i % 2 != 0) {printf("%s", $i)} else {printf("%s ", $i)}; printf("\n")}' outcome.ped ## 利用awk列循环判断实现 GG CC GG GG GA AA GG GC GG GC GG GG GG AA AG CC GG CC GG GG GG AA AG GC GG CC GG GG GG AA GG GG GG CC GG GG GG AA AG GC GG CC GG GG GG AA AA CC GG CC GG AG AA AA GG CC GG CC GG AG AA AA GG CC
分类:
linux shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2020-12-19 linux系统scp远程传输命令
2020-12-19 linux系统中ssh部署两台服务器远程免密登录
2020-12-19 linux系统中创建网络会话
2020-12-19 python中给列表元素排序
2020-12-19 python中返回列表中元素的索引