Awk second mot ...

Résolu
Bonjour,

Je ne comprend pas pourquoi cette commande ne me renvois rien :
awk -F " " '{print $2}' <<< cat /etc/logrotate.d/postfix | grep olddir

si je fait un cat /etc/logrotate.d/postfix | grep olddir
j'obtiens bien :
olddir /var/log/mail/archives

si je fait un
awk -F " " '{print $1}' <<< cat /etc/logrotate.d/postfix | grep olddir
j'obtiens bien :
olddir

Donc pourquoi il veut pas me donner mon path ??????

Stéphane
Configuration: Windows XP
Internet Explorer 7.0

10 réponses

  1. Contributeur
    et comme ça ?
    awk '/olddir/ {print $2}' <<< cat /etc/logrotate.d/postfix
    1. incroyable, ça marche nickel, je vois toujours pas le pb mais là ça tourne ...

      MERCI

      Stéphane
      1. Contributeur
        awk -F " " '{print $2}' <<< cat /etc/logrotate.d/postfix | grep olddir
        $2 affiche /var/log/mail/archives donc grep olddir ne trouve rien
        1. aaaa je pensais que la partie :
          awk -F " " '{print $2}'

          traité le résultat de
          cat /etc/logrotate.d/postfix | grep olddir

          et pas l'inverse ... (grep qui traite le résultat de awk -F " " '{print $2}' <<< cat /etc/logrotate.d/postfix)

          MERCI !!
          1. Bonsoir,

            Dans même ordre d'idée, je souhaiterais faire un :

            D_POSTFIX=$(awk -F="=" '/queue_directory/ {print $2}' <<< postconf queue_directory)

            mais ça n'a pas l'air ok ... j'ai encore raté un truc ???

            Stéphane
            1. Contributeur
              D_POSTFIX=$(awk -F"=" '/queue_directory/ {print $2}' < postconf queue_directory)
              il y a un = de trop après le F
              le <<< c'est pour un string, pour lire un fchier c'est <
              1. hello,

                oui mais postconf n'est pas un fichier mais une commande de postfix qui renvoie la valeur d'un paramètre (soit celui par défaut soit celui du fichier main.cf si le paramètre est définie), je passe par cette commande pour être sûr d'avoir une valeur, si je tape directement dans main.cf, je peux me retrouver sans valeur pour ce paramètre

                si je lance awk -F"=" '/queue_directory/ {print $2}' < postconf queue_directory
                j'obtien :
                -bash: postconf: Aucun fichier ou répertoire de ce type

                Merci pour votre aide ....
                1. Contributeur
                  je n'avais pas vu l'espace:
                  postconf queue_directory | awk -F"=" '/queue_directory/ {print $2}'
                  1. Excellent, parfois j'ai honte de ne pas trouver moi même ....
                    1. Contributeur
                      meuuh non, ou alors
                      awk -F"=" '/queue_directory/ {print $2}' <<< $( postconf queue_directory )