gpt4 book ai didi

linux - 使用awk解析文本文件

转载 作者:可可西里 更新时间:2023-11-01 11:49:29 27 4
gpt4 key购买 nike

我希望使用 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

最佳答案

#!/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

关于linux - 使用awk解析文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18852987/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com