下面你会找到我用来从xml文件中提取2行输出的awk和sed命令的输出。我必须将主机名和端口名分配给4个不同的变量,以便我可以使用它们进行进一步的查询。你能帮忙吗?
cat file | awk | sed在下面生成两行
Address host1 port_1 Address
BackupAddress host2 port_2 BackupAddress
期望的输出
hosta="host1"
porta="port_1"
hostb="host2"
portb="port_2"
我很感激并欢迎您对决议的详细解释。
答案 0 :(得分:0)
使用awk:
awk '
/^Address/ { print "hosta=\""$2"\"\nporta=\""$3"\"" }
/^BackupAddress/ { print "hostb=\""$2"\"\nportb=\""$3"\"" }' file
或者,使用变量来保存双引号以减少混乱:
awk -v q='"' '
/^Address/ { print "hosta="q$2q"\nporta="q$3q }
/^BackupAddress/ { print "hostb="q$2q"\nportb="q$3q }' file
我不确定您目前使用的代码是什么。如果你已经用awk编写了它,你也可以在那里加入上述逻辑。