如何查找并连接断线

如何查找并连接断线

我的任务是在多个服务器上的配置文件中搜索并连接损坏的字符串:

配置文件中参数较多,其中一段断行很少,需要连接。

配置文件中的损坏字符串类似于以下示例中的第二行和第三行:

rconfigure En32zrt 10.xx.xx.xx/24
rconfigure 
En32zrt 10.10.xx.xx/24
rconfigure En32zrt 10.xx.xx.xx/24

它应该看起来像,我需要加入上面示例中的第二行和第三行,如下所示:

rconfigure En32zrt 10.xx.xx.xx/24
rconfigure En32zrt 10.10.xx.xx/24
rconfigure En32zrt 10.xx.xx.xx/24

希望我说清楚了。请指教。

编辑: 字符串不一定以 /24 结尾。也可以是这样的:

rconfigure En32zrt 10.xx.xx.xx
    rconfigure 
    En32zrt 10.10.xx.xx/24
    rconfigure En32zrt 10.xx.xx.xx

其中应该改为:

rconfigure En32zrt 10.xx.xx.xx
rconfigure En32zrt 10.10.xx.xx/24
rconfigure En32zrt 10.xx.xx.xx

答案1

如果您知道所有输出行都应包含 3 个单词(如 OP 所示),您可以执行以下操作:

tr ' \t' '\n' <some_file |
grep -v '^$' |
paste -d ' ' - - -

笔记:

  • tr将任何空白分隔符转换为换行符
  • grep删除空行
  • grep当你留下一个单词列表后,每个单词都在自己的行上
  • paste使用给定的分隔符重复将 3 行合并为一行

相关内容