Apenas fiz isso usando o script bash
#!/bin/bash
c=0
[[ $# -eq 0 ]] && { echo "Error: Please Specify Input file" >&2; exit 1; }
while read line
do
if [[ $line = "-" ]]; then
(( c++ ))
if [[ $c -eq 1 ]]; then
echo ""
fi
elif [[ $line != "" ]] && [[ $c -ne 0 ]]; then
echo "- ${line}"
(( c-- ))
if [[ $c -eq 0 ]]; then
echo ""
fi
elif [[ $line =~ "- " ]] && [[ $c -ne 0 ]]; then
echo " $line"
else
echo "$line"
fi
done < $1
Testado e trabalhando com o exemplo de entrada.