linux解析txt文件,linux – 使用awk解析文本文件
#!/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
"
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
#!/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 " 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