the sort
utility let's conveniently sort lines in file. however, there elegant way sort blank-line separated paragraphs in bash?
for example
ccc aa aba bbb aba ccc aaa
would have become
aaa aba bbb aba ccc ccc aa
one solution seems to replace new line symbol on non-blank lines:
ccc\naa aba\nbbb aba\nccc aaa
then call run sort
aaa aba\nbbb aba\nccc ccc\naa
and restore new lines:
aaa aba bbb aba ccc ccc aa
perl rescue;
perl -n00 -e 'push @a, $_; end { print sort @a }' file
the -00
option enables "paragraph mode" splits input on empty lines.
if - in sample - last input line isn't empty, need add newline separately.
perl -n00 -e 'push @a, $_; end { $a[-1] .= "\n" if $a[-1] !~ /\n\n$/; print sort @a }' file