Utlisation de grep en shell

bonjour à tous ;
je tente de faire un script bash qui me donne la liste des users qui lit le fichier d'environnment (env) ; le premier argument doit être le nom du fichier env ;
en sortie je dois avoir un truc comme
1) PWD=/home/alfred.mansey
2 USER=alfred.mansey
3)MAIL= /var/spool/mail/alfred.mansey
4)LOGNAME=alfred.mansey
5)HOME=/home/alfred.mansey
etc...

je dois le faire avec grep , print et des boucles
Configuration: Windows XP
Firefox 1.5.0.11

3 réponses

  1. Modérateur
     for var in $(ps auc | grep user | cut -d " " -f1 | sort | uniq)
    do
    env |grep -E (PWD|USER|LOGNAME|MAIL|HOME) | cat -n
    done 
    ;-))
    0
    1. merci bien super
      en faisant une boucle sur les users
      for var in $(ps auc | grep user | cut -d " " -f1 | sort | uniq)
      do
      env |grep -E (PWD|USER|LOGNAME|MAIL|HOME)
      done

      et si je veux rajouter des numérotations sur chaque resultat
      1)
      2)
      comment fait on ? -n ne marche pas , ni -c
      0
      1. Modérateur
        Salut,

        J'ai pas tout bien compris ce que tu veux faire là...
        En fonction de ça, voilà un début de réponse :
        env | grep -E '(PWD|USER|MAIL|LOGNAME|HOME)'
        ou
        grep -E '(PWD|USER|MAIL|LOGNAME|HOME)' < <(env)
        ;-))
        0