直接说场景, 有一个文件, 数据为采用@分隔的两列,第一列是线路名称,第二列是线路端点名称. 现要将相同线路的端点名称输出:
应注意到有一个线路在原始数据中只有一个端点.
原始信息:
动态连接线.1017 @ 过负荷保护
动态连接线.1017 @ 跳中压侧断路器
动态连接线.1016 @ 过负荷保护
动态连接线.1016 @ 跳高压2侧断路器
动态连接线.1015 @ 过负荷保护
动态连接线.1015 @ 跳高压1侧断路器
动态连接线.1014 @ 过负荷保护
动态连接线.1014 @ 跳低压侧断路器
动态连接线.1013 @ 过负荷保护
动态连接线.1013 @ 跳中压侧断路器
动态连接线.1012 @ 跳高压2侧断路器
动态连接线.1011 @ 过负荷保护
动态连接线.1011 @ 跳高压1侧断路器
动态连接线.1010 @ 零序过流
动态连接线.1010 @ 跳低压侧断路器
目标信息:
动态连接线.1017 @ 过负荷保护 @ 跳中压侧断路器
动态连接线.1016 @ 过负荷保护 @ 跳高压2侧断路器
动态连接线.1015 @ 过负荷保护 @ 跳高压1侧断路器
动态连接线.1014 @ 过负荷保护 @ 跳低压侧断路器
动态连接线.1013 @ 过负荷保护 @ 跳中压侧断路器
动态连接线.1012 @ 跳高压2侧断路器
动态连接线.1011 @ 过负荷保护 @ 跳高压1侧断路器
动态连接线.1010 @ 零序过流 @ 跳低压侧断路器
借用vim跨行替换可采用如下方式实现:
:g/^/s/.∗ @ .∗\n\1/\2/
应注意到有一个线路在原始数据中只有一个端点.