我正在努力使用 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"
我如何使用
grep
、 awk
或 sed
来实现这一点? 最佳答案
考虑到您的实际文件与所示示例 Input_file 相同:
awk '/address/{val=$0;next} {print val $0}' Input_file
关于linux - 匹配模式,插入模式,直到下一次匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45586461/