我正在努力根据所需的输出格式化文件,使用 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/