grep arbeitet mit dem Inhalt des Textes. Eine Absatzschaltung gehört zum Inhalt. Der Umbruch aber nicht. Ein Zeilenende ist kein Zeichen, nach dem man suchen könnte. Also geht das nicht mit grep.
Ein Script könnte helfen...
Es erwartet, dass Text markiert ist und ändert alle Zeilen im Textfluss.
Da ist ne Menge Optimierungsotential, zum Beispiel vorher alle Leerzeichen, die nicht unterstrichen sind, wieder unterstreichen. Damit könnten Umbruchänderungen aufgefangen werden.
Aber zum Test erst mal nur die einfache Version.