我正在努力使用 bash 工具根据所需的输出格式化文件。这是一个示例:

address="192.168.1.1"
portid="443"
portid="2000"
address="192.168.1.2"
portid="443"
portid="2000"

本质上,我想要实现的是搜索一个模式(在这种情况下,整个 IP 地址行),并将其添加到每个后续行,直到下一个匹配(在下一个 IP 地址之前)。所需的输出是这样的:
address="192.168.1.1"portid="443"
address="192.168.1.1"portid="2000"
address="192.168.1.2"portid="443"
address="192.168.1.2"portid="2000"

我如何使用 grepawksed 来实现这一点?

最佳答案

考虑到您的实际文件与所示示例 Input_file 相同:

awk '/address/{val=$0;next} {print val $0}'  Input_file

关于linux - 匹配模式,插入模式,直到下一次匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45586461/

10-11 06:29