将文本文件中的第一行连接到第二行的末尾

将文本文件中的第一行连接到第二行的末尾

我正在尝试将第一行附加到第二行的末尾。我有一个很大的文本文件,我必须对所有条目进行此处理。

 Value="AF" /> 
<ListItem Text="Afghanistan" 


 Value="AL" />
<ListItem Text="Albania"


 Value="DZ" />
<ListItem Text="Algeria"


 Value="AS" />
<ListItem Text="American Samoa"


 Value="AD" />
<ListItem Text="Andorra"

输出应如下:

<ListItem Text="Afghanistan" Value="AF" />
<ListItem Text="Albania" Value="AL" />
<ListItem Text="Algeria" Value="DZ" />

有人能帮我实现这个吗?非常感谢

答案1

$ sed -e '/^$/d' -e 'N;s/\(.*\)\n\(.*\)/\2\1/' input.txt
  • /^$/d- 删除所有空白行
  • N- 将下一行放入模式空间
  • s- 代替
  • \(.*\)\n\(.*\)- 匹配第一行,然后是换行符和第二行
  • \2\1- 使用反向引用将第一行附加到第二行的末尾

相关内容