voilou j'ai un fichier list de la forme  
 
Citation :
 
 
 Alex       B         abt     boatt   polesi  /home
 Eric      L        lfd     lle      polesi  /home/eci
   | 
 
 
j'aimerais savoir si les utilisateurs presents dans ce fichiers sont des utilisateurs systèmes. S'ils sont absents du /etc/passwd, je l'ai ajoute.
 
 
j'ai fais un fichier list.awk pour lister les utilisateurs : awk -f list.awk list
 
 
mais comment puis je faire le test si le user est deja present dans /etc/passwd ?
Je peux faire par exemple
Code :
 - {
 -     if ( `cat /etc/passwd | cut -d ":" -f 1 | grep -c $1` = 1)
 -     {
 -         print $1 est deja present;
 -     }
 -     else
 -     { 
 -         adduser $1
 -     }
 - }
 
  | 
mais je trouve ca un peu cochon.
 
 
 Y aurait pas moyen de faire un peu plus propre comme par exemple mettre dans la copndition :
Code :
 - awk -F":" '{ if ($1=="Alex" ) print $1}' /etc/passwd
 
  | 
Alex une chaine chaine mais comment le remplacer par la variable du list.awk
 
 
Comment fait on pour utiliser pour les variables dans un autre awk ?
 
Quel est la solution la plus elegante ?
 
Message édité par weed le 12-03-2005 à 14:20:15