Bonjour,

J'essai d'utiliser une commande awk pour supprimer un utilisateur d'un fichier passwd possédant cette structure :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.
[users]
harry = harryssecret
sally = sallyssecret
yann = yannux
florian = florian

J'ai écris un script bash contenant les lignes suivantes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
mv passwd passwd.bak
 
awk '/[^^'$USERNAME' =]/ {print $0}' passwd.bak > passwd
La commande awk est censée afficher toutes les lignes du fichier passwd.bak sauf celle débutant par le username. Le problème est que ce script ne fonctionne qu'avec le username florian et pas pour les autres.

Quelqu'un a-t-il une idée de la bonne expression régulière à utiliser ?

Merci d'avance,

Yann.