Modifier une ligne particuliere d'un fichier

Bonjour,

je cherche une commande pour ajouter une chaine de caracteres à la fin d’une certaine ligne d’un fichier.

Je m’explique:
Je voudrais automatiser la création de comptes et de partages samba sur mon serveur.
Quand j’ajoute un utilisateur samba, un dossier de partage est créé, et ses informations s’ajoutent a la fin du smb.conf
Mais je voudrais aussi que l’utilisateur soit rajouté parmi les “valid users” d’un dossier d’échanges pour tous les utilisateurs…

valid users = user1, user2

a remplacer par

valid users = user1, user2, $user

L’idéal serait de chercher la ligne ou se trouve la chaine "[echanges]"
et ensuite de remplacer la ligne suivante par l’autre…

Merci de votre réponse!

J’ai trouvé une fonction qui pourrait peut etre m’aider mais ca ne fonctionne pas… (ca me réinitialise le fichier)
Si vous trouvez l’erreur… Mais en tout cas c’est tout à fait que je cherche
(les dossiers publics et d’échange ont un premier valid user skywalker, je pensais donc faire une recherche de cette ligne directement)

awk ‘{ sub(/‘valid users = skywalker’/,“valid users = skywalker, nouveau_user”)’ /etc/samba/smb.conf > /etc/samba/smb.conf

Edit:
On parle aussi de la fonction sed, mais comme awk impossible de la faire fonctionner…
Help!

Google est ton ami : http://www.commentcamarche.net/forum/affich-6605024-bash-linux-remplacer-une-ligne