Cela fonctionne sur Linux et OS X:
sed 's/regexp/\'$'\n/g'
En général, pour $
suivie par un littéral de chaîne avec une barre oblique inverse bash
effectue de style C barre oblique inverse de substitution, par exemple, $'\t'
est traduite en un littéral de l'onglet. De Plus, sed souhaite votre retour à la ligne littéral de le faire précéder d'une barre oblique inverse, d'où l' \
avant $
. Et enfin, le signe dollar lui-même ne devrait pas être cité, de sorte qu'il est interprété par le shell, donc nous fermer le devis avant la $
et immédiatement l'ouvrir à nouveau.
Mise à jour: la méthode ci-dessus peut être utilisé pour n'importe quel style C "escapable" char. Si vous avez besoin d'une nouvelle ligne, puis c'est peut-être plus facile à retenir:
sed "s/regexp/`echo`/g"
Notez les guillemets dans ce cas, c'est parce que la commande echo dans backticks `echo`
devrait être interprété par le shell.