将数据
4 00000080AB34
5 00000080AB35
5 00000080AB36
6 00000080AB37
4 00000080AB3A
180
?
9 00000080AA0C
10 00000080AA0E
4 00000080AA0F
1 00000080AA10
5 00000080AA12
194
?
9 00000080AA0C
5 00000080AA0E
5 00000080AA0F
7 00000080AA10
2 00000080AA12
200
?
转变为
4 00000080AB34 9 00000080AA0C 9 00000080AA0C
5 00000080AB35 10 00000080AA0E 5 00000080AA0E
5 00000080AB36 4 00000080AA0F 5 00000080AA0F
6 00000080AB37 1 00000080AA10 7 00000080AA10
4 00000080AB3A 5 00000080AA12 2 00000080AA12
180 194 200
? ? ?
利用sed和awk将列数据通过关键字转换为多列
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- 7*24 工作者 2018-01-11 06:16关注
#shell命令: #将每一个模块转成一行 sed ':a;N;$!ba;s/\n/|/g' test.txt | awk -F'?' '{print "|"$1"\n"$2"\n"$3}' #将行和列位置互换,第一列赋给a,第二列赋给b,...... awk -F'|' '{a=a$1" ";b=b$2" ";c=c$3" ";d=d$4" ";e=e$5" ";f=f$6" ";g=g$7" ";}END{print a"\n"b"\n"c"\n"d"\n"e"\n"f"\n"g}' 文件名 #整合在一起 sed ':a;N;$!ba;s/\n/|/g' test.txt | awk -F'?' '{print "|"$1"\n"$2"\n"$3}' | awk -F'|' '{a=a$1" ";b=b$2" ";$3}' | awk -F'|' '{a=a$1" ";b=b$2" ";c=c$3" ";d=d$4" ";e=e$5" ";f=f$6" ";g=g$7" ";}END{print a"\n"b"\n"c"\n"d"\n"e"\n"f"\n"g}'
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
- ¥15 MCNP里如何定义多个源?
- ¥20 双层网络上信息-疾病传播
- ¥50 paddlepaddle pinn
- ¥20 idea运行测试代码报错问题
- ¥15 网络监控:网络故障告警通知
- ¥15 django项目运行报编码错误
- ¥15 STM32驱动继电器
- ¥15 Windows server update services
- ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏