sed, comment faire pour remplacer une ligne avec 2 ligne?

Je suis en train de remplacer 1 ligne 2 lignes à l'aide de sed dans debian et voici ce que j'ai trouvé:

 sed -i 's/You are good/You are good\n You are the best/g' /output.txt

Cependant, quand je fais cela, sed gardé de se plaindre en disant: option inconnue "s".

Quelqu'un pouvait aider?

Merci!

J'ai oublié de mentionner, c'est pour un script shell et de l'environnement est Debian 6
Juste un commentaire général, je suggère d'utiliser # au lieu de / pour votre caractère délimiteur de sed, comme une règle générale. Parfois, vous aurez envie d'utiliser / comme un délimiteur dans le cas de la modification d'un fichier ou d'un flux qui contient #s (par exemple pour les commentaires dans une bashscript). Mais le plus souvent (dans mon expérience au moins), vous pourrez modifier le texte sans #s, mais avec / dans le cadre d'un Linux dir. la cotation. Si vous utilisez le signe de la livre, vous n'aurez pas à vous inquiéter au sujet de la délimitation (bien que d'autres délimitant les règles s'appliquent). Voici un brut ex.: echo '/a/' | sed -e 's#/a/#//#g' vs echo '/a/' | sed -e 's/\/a\//\/\//g'
Bravo pour le séparateur - j'ai été poussant ce depuis des années, malheureusement, un exemple de chaque sed vous verrez jamais utilise / comme séparateur - ce qui est le plus inutile de caractère à choisir. OK, étant donné que vous pouvez utiliser n'importe quel char, " e " est peut-être pire - sed 'sesom\estring avec un \ee/\el\ephantsee'

OriginalL'auteur AZhu | 2011-08-16