如何在bash中使用多行进行排序?

Tri*_*ord 8 linux sorting bash

我正在尝试排序名称列表,后跟另一个字符串,例如:

John Doe
AVAIL

Sara Doe
CALL

Jim Doe
AVAIL
Run Code Online (Sandbox Code Playgroud)

我试图按名称对这些进行排序,但似乎无法用排序来解决这个问题.有人可以提供一些指导吗?

我的最终输出看起来像这样:

Jim Doe
AVAIL

John Doe
AVAIL

Sara Doe
CALL
Run Code Online (Sandbox Code Playgroud)

非常感激!

Lev*_*sky 8

可能远非最佳,但是

sed -r ':r;/(^|\n)$/!{$!{N;br}};s/\n/\v/g' names | sort | sed 's/\v/\n/g'
Run Code Online (Sandbox Code Playgroud)

似乎做了这项工作(names是带有记录的文件).这允许任意长度的记录,而不仅仅是2行.