Linux 将数据转换为指定格式

Linux 将数据转换为指定格式,linux,Linux,我有以下表格中的数据: $& <abc> This is a string . $& <abc_def> This is string two . This is a string <abc> . This is string two <abc_def> . $& 这是一根绳子。 $& 这是第二串。 我想将上面给出的数据转换为下面提到的表格: $& <abc> This is a string . $&a

我有以下表格中的数据:

$& <abc>
This is a string .
$& <abc_def>
This is string two .
This is a string <abc> .
This is string two <abc_def> .
$&
这是一根绳子。
$& 
这是第二串。
我想将上面给出的数据转换为下面提到的表格:

$& <abc>
This is a string .
$& <abc_def>
This is string two .
This is a string <abc> .
This is string two <abc_def> .
这是一个字符串。
这是第二串。

我可以使用python高效地执行这样的转换。是否有某种方法可以通过使用诸如sed、awk等linux命令实现所需的形式。

使用sed-yo可以连接两行,然后进行替换

sed -n '/^$&/N;s/$& \(<.*>\)\n\([^\.]*\)/\2 \1 /;p ' <test.txt 
sed-n'/^$&/n;s/$&\(\)\n\([^\.]*\)/\2\1/;p'