gpt4 book ai didi

linux - 将多行的输出列分配给不同的变量?

转载 作者:太空宇宙 更新时间:2023-11-04 12:26:26 24 4
gpt4 key购买 nike

下面是我用于从 xml 文件中提取 2 行输出的 awk 和 sed 命令的输出。我必须将主机名和端口名分配给 4 个不同的变量,以便我可以使用它们进行进一步的查询。你能帮忙吗?

目录文件 |哇 | sed 在下面产生两行

Address host1  port_1  Address
BackupAddress host2 port_2 BackupAddress

期望的输出

hosta="host1"
porta="port_1"
hostb="host2"
portb="port_2"

非常感谢并欢迎您对您的决议进行详细解释。

最佳答案

使用 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 编写了它,您可能也可以将上述逻辑合并到那里。

关于linux - 将多行的输出列分配给不同的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44491307/

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