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
    meuuh non, ou alors
    awk -F"=" '/queue_directory/ {print $2}' <<< $( postconf queue_directory )
    1. Excellent, parfois j'ai honte de ne pas trouver moi même ....
      1. Contributeur
        je n'avais pas vu l'espace:
        postconf queue_directory | awk -F"=" '/queue_directory/ {print $2}'
        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
            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. 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. 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. 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. incroyable, ça marche nickel, je vois toujours pas le pb mais là ça tourne ...

                    MERCI

                    Stéphane
                    1. Contributeur
                      et comme ça ?
                      awk '/olddir/ {print $2}' <<< cat /etc/logrotate.d/postfix