linux – 使用awk解析文本文件

weixin_38115949 2019-09-12 02:12:47
我期待使用awk解析空格分隔的输入文本文件.列代码可以为每个组分配多个行.我非常感谢任何帮助. LOCATION SHANNON GROUP NUM SWITCH CODE HEX 0 4 OFF 1 3 1 13 ON 2 4 8 14 LOCATION LOUTH GROUP NUM SWITCH CODE HEX 0 1 OFF 1 4 1 2 ON 0 F 2 期望的输出文件 LOCATION GROUP NUM SWITCH CODE HEX SHANNON 0 4 OFF 1 3 SHANNON 1 13 ON 2 4 SHANNON 1 13 ON 8 4 SHANNON 1 13 ON 14 4 LOUTH 0 1 OFF 1 4 LOUTH 1 2 ON 0 F LOUTH 1 2 ON 2 F
...全文
40 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38125280 2019-09-12
  • 打赏
  • 举报
回复
#!/usr/bin/awk -f BEGIN { # You can customize this to change your output layout based on your preference. format = "%-10s%-7s%-5s%-8s%-5s%-3s\n" printf format, "LOCATION", "GROUP", "NUM", "SWITCH", "CODE", "HEX" } ++i==2{ l = $1 } i>4{ if (/^[[:blank:]]*$/) { i = 0 } else if (NF > 1) { printf format, l, $1, $2, $3, $4, $5 p1=$1; p2=$2; p3=$3; p5=$5 } else { printf format, l, p1, p2, p3, $1, p5 } } 运行: awk -f script.awk file 输出: LOCATION GROUP NUM SWITCH CODE HEX SHANNON 0 4 OFF 1 3 SHANNON 1 13 ON 2 4 SHANNON 1 13 ON 8 4 SHANNON 1 13 ON 14 4 LOUTH 0 1 OFF 1 4 LOUTH 1 2 ON 0 F LOUTH 1 2 ON 2 F

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧