Aller simple :fichier d'exemple
$ cat file
Cygwin
Unix
Linux
Solaris
AIX
En utilisant sed, en remplaçant la ligne suivante après le motif 'Unix' par 'hi' :
$ sed '/Unix/{n;s/.*/hi/}' file
Cygwin
Unix
hi
Solaris
AIX
Pour votre question spécifique :
$ sed '/<key>ConnectionString<\/key>/{n;s/<string>.*<\/string>/<string>NEW STRING<\/string>/}' your_file
<key>ConnectionString</key>
<string>NEW STRING</string>
Cela pourrait fonctionner pour vous (GNU sed):
sed '/<key>ConnectionString<\/key>/!b;n;c<string>changed_value</string>' file
!b
annule l'adresse précédente (regexp) et interrompt tout traitement, mettant fin aux commandes sed, n
imprime la ligne courante puis lit la suivante dans l'espace du motif, c
remplace la ligne actuelle par la chaîne qui suit la commande.
Ça marche. De plus, il est intéressant de mentionner que si vous écrivez,
sed '/<key>ConnectionString<\/key>/!b;n;n;c<string>changed_value</string>' file
Notez les deux n, il remplace après deux lignes et ainsi de suite.