每隔一行向上移动到包含字符的行尾

每隔一行向上移动到包含字符的行尾

我已经运行了两个通过管道连接在一起的 xpath 查询来检索某些信息。然而,结果在不同的行上格式化,而我希望它们在同一行上。例如,这些行是这样的:

<id>rd://data1/8b</id>
<name>DM_test1</name>
<id>rd://data2/76f</id>
<name>DM_test_P</name>

但我希望以 开头的行<name>位于以 结尾的行旁边,如下</id>所示:

<id>rd://data1/8b</id><name>DM_test1</name>

我怎样才能做到这一点?我的 xpath 查询中是否有任何地方可以添加一些内容以确保没有空格?或者是否有正则表达式可以<name>向上移动行?

我有大约 20 多行,所以我无法手动完成。

答案1

sed

sed -e '$!N;/\n<name>/s/\n//' file

如果所有行都按顺序排列,则可以使用paste

paste -sd'\0\n' file

相关内容