IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

formatage fichier sortie à partir de différentes données


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 32
    Par défaut formatage fichier sortie à partir de différentes données
    Bonjour,

    Voici les données en question chaque variable (EC,QD,DP,HP)

    Contiennnent le même nombre d'éléments (+-500 en liste)

    et j'aimerais fusionner ces données pour obtenir un fichier de sortie formaté comme tel

    EC,QD,DP,HP
    EC,QD,DP,HP
    EC,QD,DP,HP
    EC,QD,DP,HP
    ...

    JE ne vois pas vraiment comment procéder donc je fais appel a vos lumières

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Nbrmess=`qmm dis $Qmgr:$Queue | grep 'Total messages selected:' | awk -F" " '{ print $5}' `
    	  	qmm dis $Qmgr:MANAGE.DEAD.QUEUE detail > qmmdead.txt
    	  	EC=`cat qmmdead.txt | grep "Reason message on dead-letter queue" | sed s/".*: "//g `
    			QD=`cat qmmdead.txt | grep "Original destination queue" | sed s/".*: "//g ` 
    			DP=`cat qmmdead.txt | grep "Date message put on dead queue" | sed s/".*: "//g `
    			HP=`cat qmmdead.txt | grep "Time message put on dead queue " | sed s/".*: "//g `
    	  	echo "PUTdate: $DP | PUThour: $HP | ERROR: $EC | Q: $QD "

    J'espère avoir été suffisament précis dans ma requête ...
    Merci d'avance

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    Bonjour,

    la source est toujours la même (qmmdead.txt), qui est probablement un fichier temporaire, et inutile : tu devrais 'piper' la sortie de la commande qmm dis $Qmgr:MANAGE.DEAD.QUEUE detail vers une commande awk, qui formatera ça très proprement, plutôt qu'un tas de grep | sed consommateur de ressources et tout moche.

    Il y a un tutoriel gawk, ici.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par alexmirage Voir le message
    Bonjour,

    Voici les données en question chaque variable (EC,QD,DP,HP)

    Contiennnent le même nombre d'éléments (+-500 en liste)
    Salut

    Ce serait bien d'avoir un petit exemple du fichier entrée...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 32
    Par défaut
    Voici un ex de qmmdead.txt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    Queue: MANAGE.DEAD.QUEUE               Queue manager: MQRSDH12               
     
    Relative position on queue  . . . . . . . . : 1
    Message length (includes headers) . . . . . : 441
     
    Message descriptor
      Structure identifier  . . . . . . . . . . : MD
      Structure version number  . . . . . . . . : 1
      Message type  . . . . . . . . . . . . . . : Reply
      Message lifetime in tenths of seconds . . : Unlimited
      Feedback or reason code . . . . . . . . . : None
      Data encoding . . . . . . . . . . . . . . : Native - UNIX
      Coded character set identifier  . . . . . : 819
      Format name . . . . . . . . . . . . . . . : MQDEAD
      Message priority  . . . . . . . . . . . . : 5
      Message persistence . . . . . . . . . . . : Message is not persistent
      Message identifier  . . . . . . . . . . . : C3E2D840D4D8C4F14040404040404040
                                                  C871EF7D61974E04
      Correlation identifier  . . . . . . . . . : 414D51204D5152534448313220202020
                                                  4E68383929860874
      Backout counter . . . . . . . . . . . . . : 0
      Name of reply-to queue  . . . . . . . . . : 
      Name of reply queue manager . . . . . . . : MQD1
     
      Identity Context
        User identifier . . . . . . . . . . . . : g66525
        Accounting token  . . . . . . . . . . . : ...
        Application data relating to identity . : 
     
      Origin Context
        Type of application that put the message: XCF
        Name of application that put the message: IMD1OTMAIMD1
        Date when message was put . . . . . . . : 20110929
        Time when message was put (GMT) . . . . : 06331729
        Application data relating to origin . . : 
     
    Dead Letter Header
      Structure identifier  . . . . . . . . . . : DLH
      Structure version number  . . . . . . . . : 1
      Reason message on dead-letter queue . . . : Undefined object name
      Original destination queue  . . . . . . . : APPL.ALIAS.CK01101.REPLY
      Original destination queue manager  . . . : MQRSDH12
      Original data encoding  . . . . . . . . . : Native - UNIX
      Original coded charset identifier . . . . : 819
      Original format name  . . . . . . . . . . : MQIMS
      Type of appl that put msg on deadq  . . . : UNIX
      Name of appl that put msg on deadq  . . . : amqrmppa
      Date message put on dead queue  . . . . . : 20110929
      Time message put on dead queue (GMT)  . . : 06331731
     
    IMS Information Header
      Structure identifier  . . . . . . . . . . : IIH
      Structure version number  . . . . . . . . : 1
      Length of MQIMS header  . . . . . . . . . : 84
      Format name of the data . . . . . . . . . : MQIMSVS
      Logical terminal override . . . . . . . . : 
      Message format services map name  . . . . : DFSMO5
      MQ format name of reply message . . . . . : 
      RACF password or passticket . . . . . . . : 
      Transaction instance identifier . . . . . : C871EF7B4A6194884040404040404040
      Transaction state . . . . . . . . . . . . : 32
      Commit mode . . . . . . . . . . . . . . . : 49
      Security scope  . . . . . . . . . . . . . : 32
     
    IMS Variable String
      Length of IMS message . . . . . . . . . . : 78
      IMS flags . . . . . . . . . . . . . . . . : 0B00
      IMS DATA  . . . . . . . . . . . . . . . . : DFS555I TRAN CK01101  ABEND S000
                                                  ,U4038 ; REASON=00000001; MSG IN
                                                   PROCESS:
     
    ------------------------------------------------------------------------------
     
    Relative position on queue  . . . . . . . . : 567
    Message length (includes headers) . . . . . : 1198
     
    Message descriptor
      Structure identifier  . . . . . . . . . . : MD
      Structure version number  . . . . . . . . : 1
      Message type  . . . . . . . . . . . . . . : Datagram - no reply
      Message lifetime in tenths of seconds . . : Unlimited
      Feedback or reason code . . . . . . . . . : None
      Data encoding . . . . . . . . . . . . . . : Native - UNIX
      Coded character set identifier  . . . . . : 819
      Format name . . . . . . . . . . . . . . . : MQDEAD
      Message priority  . . . . . . . . . . . . : 0
      Message persistence . . . . . . . . . . . : Message is persistent
      Message identifier  . . . . . . . . . . . : C3E2D840D4D8C4F14040404040404040
                                                  C816535D35487105
      Correlation identifier  . . . . . . . . . : 40404040404040404040404040404040
                                                  4040404040404040
      Backout counter . . . . . . . . . . . . . : 6
      Name of reply-to queue  . . . . . . . . . : 
      Name of reply queue manager . . . . . . . : MQD1
     
      Identity Context
        User identifier . . . . . . . . . . . . : b0pr17d
        Accounting token  . . . . . . . . . . . : ......@@....@@@@
        Application data relating to identity . : 
     
      Origin Context
        Type of application that put the message: IMS
        Name of application that put the message: IMD1    YSQS51
        Date when message was put . . . . . . . : 20110718
        Time when message was put (GMT) . . . . : 09501525
        Application data relating to origin . . : 
     
    Dead Letter Header
      Structure identifier  . . . . . . . . . . : DLH
      Structure version number  . . . . . . . . : 1
      Reason message on dead-letter queue . . . : Queue is full
      Original destination queue  . . . . . . . : APPL.ALIAS.EOIQ.SOM2LIQFBK
      Original destination queue manager  . . . : 
      Original data encoding  . . . . . . . . . : Native - UNIX
      Original coded charset identifier . . . . : 819
      Original format name  . . . . . . . . . . : MQSTR
      Type of appl that put msg on deadq  . . . : UNIX
      Name of appl that put msg on deadq  . . . : amqrmppa
      Date message put on dead queue  . . . . . : 20110718
      Time message put on dead queue (GMT)  . . : 13590555
     
    Message text  . . . . . . . . . . . . . . . : 
     
    :)
     
    ------------------------------------------------------------------------------
     
    Relative position on queue  . . . . . . . . : 2480
    Message length (includes headers) . . . . . : 408
     
    Message descriptor
      Structure identifier  . . . . . . . . . . : MD
      Structure version number  . . . . . . . . : 1
      Message type  . . . . . . . . . . . . . . : Datagram - no reply
      Message lifetime in tenths of seconds . . : Unlimited
      Feedback or reason code . . . . . . . . . : None
      Data encoding . . . . . . . . . . . . . . : Native - UNIX
      Coded character set identifier  . . . . . : 819
      Format name . . . . . . . . . . . . . . . : MQDEAD
      Message priority  . . . . . . . . . . . . : 0
      Message persistence . . . . . . . . . . . : Message is not persistent
      Message identifier  . . . . . . . . . . . : 414D51204D5152534448313220202020
                                                  4E68383924F43125
      Correlation identifier  . . . . . . . . . : 414D51204D5152534448313220202020
                                                  4D2C1D122029F607
      Backout counter . . . . . . . . . . . . . : 0
      Name of reply-to queue  . . . . . . . . . : 
      Name of reply queue manager . . . . . . . : MQRSDH12
     
      Identity Context
        User identifier . . . . . . . . . . . . : g65868
        Accounting token  . . . . . . . . . . . : 665868
        Application data relating to identity . : 
     
      Origin Context
        Type of application that put the message: 26
        Name of application that put the message: MQRSDH12
        Date when message was put . . . . . . . : 20110912
        Time when message was put (GMT) . . . . : 13475221
        Application data relating to origin . . : 
     
    Dead Letter Header
      Structure identifier  . . . . . . . . . . : DLH
      Structure version number  . . . . . . . . : 1
      Reason message on dead-letter queue . . . : User not authorized
      Original destination queue  . . . . . . . : MB.ALIAS.MQMA.MQEVENTS
      Original destination queue manager  . . . : 
      Original data encoding  . . . . . . . . . : Native - UNIX
      Original coded charset identifier . . . . : 819
      Original format name  . . . . . . . . . . : MQEVENT
      Type of appl that put msg on deadq  . . . : QMGR
      Name of appl that put msg on deadq  . . . : MQRSDH12
      Date message put on dead queue  . . . . . : 20110912
      Time message put on dead queue (GMT)  . . : 13475221
     
    Event Message
     
      Structure type  . . . . . . . . . . . . . : Event
      Structure length  . . . . . . . . . . . . : 36
      Structure version number  . . . . . . . . : 1
      Command identifier  . . . . . . . . . . . : Q_MGR_EVENT
      Message sequence number . . . . . . . . . : 1
      Control options . . . . . . . . . . . . . : Last message in group
      Completion code . . . . . . . . . . . . . : WARNING
      Reason code qualifying completion code  . : UNKNOWN_OBJECT_NAME
      Count of parameter structures . . . . . . : 4
     
      PCF String Parameter (1)
        Structure type  . . . . . . . . . . . . : STRING
        Structure length  . . . . . . . . . . . : 68
        Parameter identifier  . . . . . . . . . : Q_MGR_NAME
        Coded character set identifier  . . . . : 0
        Length of string  . . . . . . . . . . . : 48
        String value  . . . . . . . . . . . . . : MQRSDH12
     
      PCF Integer Parameter
        Structure type  . . . . . . . . . . . . : INTEGER
        Structure length  . . . . . . . . . . . : 16
        Parameter identifier  . . . . . . . . . : APPL_TYPE
        Parameter value . . . . . . . . . . . . : 6
     
      PCF String Parameter (2)
        Structure type  . . . . . . . . . . . . : STRING
        Structure length  . . . . . . . . . . . : 48
        Parameter identifier  . . . . . . . . . : APPL_NAME
        Coded character set identifier  . . . . : 0
        Length of string  . . . . . . . . . . . : 28
        String value  . . . . . . . . . . . . . : ces\BB_DataSourceService.exe
     
      PCF String Parameter (3)
        Structure type  . . . . . . . . . . . . : STRING
        Structure length  . . . . . . . . . . . : 68
        Parameter identifier  . . . . . . . . . : Q_NAME
        Coded character set identifier  . . . . : 0
        Length of string  . . . . . . . . . . . : 48
        String value  . . . . . . . . . . . . . : APPL.ALIAS.YSBBASA1
    et voici ce que contiendrait mes variables si j'utilisais ce fichier

    EC =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Undefined object name
    Queue is full
    User not authorized
    DP =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    20110929
    20110718
    20110912
    HP =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    06331731
    09501525
    13475221
    QD =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    APPL.ALIAS.CK01101.REPLY
    APPL.ALIAS.EOIQ.SOM2LIQFBK
    MB.ALIAS.MQMA.MQEVENTS
    Le OUTFILE désiré

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    APPL.ALIAS.CK01101.REPLY - 20110929 - 06331731 - Undefined object name
    APPL.ALIAS.EOIQ.SOM2LIQFBK - 20110718 - 09501525 - Queue is full
    MB.ALIAS.MQMA.MQEVENTS - 20110912 - 13475221 - User not authorized
    et éventuellement donner le nombre d'occurence de chaque destination queue ( equivaut au nombre de messages qui doivent arriver dans cette queue)

  5. #5
    Membre éprouvé Avatar de Levi59
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 58
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    qmm dis $Qmgr:MANAGE.DEAD.QUEUE detail > qmmdead.txt           
    EC=`cat qmmdead.txt | grep "Reason message on dead-letter queue" | sed s/".*: "//g `
    QD=`cat qmmdead.txt | grep "Original destination queue" | sed s/".*: "//g`
    DP=`cat qmmdead.txt | grep "Date message put on dead queue" | sed s/".*: "//g `
    HP=`cat qmmdead.txt | grep "Time message put on dead queue " | sed s/".*: "//g `

    j'aurais plutot utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    EC=();QD=();DP=();HP=()
    while read
    do
        [[ $REPLY =~ "Reason message on dead-letter queue" ]] && EC+=( "${REPLY##*: }" )
        [[ $REPLY =~ "Original destination queue" ]] && QD+=( "${REPLY##*: }" )
        [[ $REPLY =~ "Date message put on dead queue" ]] && DP+=( "${REPLY##*: }" )
        [[ $REPLY =~ "Time message put on dead queue" ]] && HP+=( "${REPLY##*: }" )
    done < <(qmm dis $Qmgr:MANAGE.DEAD.QUEUE detail)
     
    for i in {0..2}
    do
        echo ${EC[$i]} - ${QD[$i]} - ${DP[$i]} - ${HP[$i]} >> fichier.log
    done
    Edit :
    J'ai corrigé une erreur... (j'avais fais ça à l'arrache désolé)

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 32
    Par défaut
    Merci pour ta réponse ...


    Malheureusement j'ai du mal a suivre le code que tu as donné.

    J'avais d'abord tenté 4 boucles while imbriquées mais il semble que lorsqu'il arrive au dernier mot de la derniere variable il recommence au début ... => kill obligatoire

    Alors pardonnes mon ignorance(ignardise) mais j'ai du mal à interpreter le morceau de code que tu as mis.

    Peux-tu m'expliquer un peu ?

    Merci d'avance

    Bien à toi

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Juste une proposition...

    Si au lieu de créer 4 variables tu créais 4 fichiers, il serait alors plus facile de passer le tout à la moulinette "paste" (éventuellement coupler à sed pour la mise en forme) ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    $ cat EC 
    Undefined object name
    Queue is full
    User not authorized
     
    $ cat DP 
    20110929
    20110718
    20110912
     
    $ cat QD 
    APPL.ALIAS.CK01101.REPLY
    APPL.ALIAS.EOIQ.SOM2LIQFBK
    MB.ALIAS.MQMA.MQEVENTS
     
    $ cat HP 
    06331731
    09501525
    13475221
     
    $ paste QD DP HP EC |  sed 's/\t/ - /g'
    APPL.ALIAS.CK01101.REPLY - 20110929 - 06331731 - Undefined object name
    APPL.ALIAS.EOIQ.SOM2LIQFBK - 20110718 - 09501525 - Queue is full
    MB.ALIAS.MQMA.MQEVENTS - 20110912 - 13475221 - User not authorized
     
    $

  8. #8
    Membre éprouvé Avatar de Levi59
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 58
    Par défaut
    Citation Envoyé par Levi59
    j'aurais plutot utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    EC=();QD=();DP=();HP=()
    while read
    do
        [[ $REPLY =~ "Reason message on dead-letter queue" ]] && EC+=( "${REPLY##*: }" )
        [[ $REPLY =~ "Original destination queue" ]] && QD+=( "${REPLY##*: }" )
        [[ $REPLY =~ "Date message put on dead queue" ]] && DP+=( "${REPLY##*: }" )
        [[ $REPLY =~ "Time message put on dead queue" ]] && HP+=( "${REPLY##*: }" )
    done < <(qmm dis $Qmgr:MANAGE.DEAD.QUEUE detail)
     
    for i in {0..2}
    do
        echo ${EC[$i]} - ${QD[$i]} - ${DP[$i]} - ${HP[$i]} >> fichier.log
    done
    Edit :
    J'ai corrigé une erreur... (j'avais fais ça à l'arrache désolé)
    En gros c'est assez simple :
    -D'abord c'est du bash, je ne suis pas sûr des compatibilités avec d'autres langages.
    -la boucle while read; do... done < <(commande) lit le retour de la commande et place chaque ligne dans la variable $REPLY (la lecture se fait ligne par ligne, un ligne par itération). Normalement, une fois toutes les lignes lus, elle devrait s'arreter...

    À un temps t, on aurait donc par exemple
    $REPLY="Message lifetime in tenths of seconds . . : Unlimited"

    -Comme on veut juste récupérer certaines infos, on compare $REPLY à un motif et si on retrouve le motif, on stock la partie voulue (après ":") grace à la substitution ${var##*: } qui va tout supprimer jusqu'au dernier ": "
    dans l'exemple précédent, on aura
    ${REPLY##*: }="Unlimited"
    j'en profite pour stocker les données dans des tableaux afin de les ranger facilement et proprement dans le fichier.log. Par contre j'ai limité la boucle for...done à 3 occurences pour correspondre à ton exemple mais il faudra surement adapter pour un nombre variable en comptant le nombre d'éléments dans une des listes HP, QD...

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 32
    Par défaut
    Un grand merci a vous 2 grace à vous je commence a voir la solution apparaitre devant mes yeux...

    Cependant il me reste un problème sachant qu'il peut y avoir jusqu'a 10000 ou 20000 messages voir plus

    j'obtiens ce message d'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./mailer.ksh[13]: 0403-029 There is not enough memory available now.
    Avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    deadQ()
    {
    Queue=MANAGE.DEAD.QUEUE
    Nbrmess=`qmm dis $Qmgr:$Queue | grep 'Total messages selected:' | awk -F" " '{ print $5}' `	
    EC="";QD="";DP="";HP=""
         while read
               do
                   `[[ $REPLY =~ "Reason message on dead-letter queue" ]] && EC+=( "${REPLY##*: }" )`
                   `[[ $REPLY =~ "Original destination queue" ]] && QD+=( "${REPLY##*: }" )`
                   `[[ $REPLY =~ "Date message put on dead queue" ]] && DP+=( "${REPLY##*: }" )`
                   `[[ $REPLY =~ "Time message put on dead queue" ]] && HP+=( "${REPLY##*: }" )`
               done << `qmm dis $Qmgr:MANAGE.DEAD.QUEUE detail`
     
    for i in {0..($Nbrmess-1)}
         do
             echo ${EC[$i]} - ${QD[$i]} - ${DP[$i]} - ${HP[$i]} > result.txt
         done 
    }

    Lorsque j'utilise une Queue qui ne contient que 3 messages pour tester

    j'obtiens ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     ./mailer.ksh -i blabla@cie.com -m MQRSDH12
    + NORMAL=\033[0;39m
    + SUCCESS=\033[1;32m
    + WARNING=\033[1;33m
    + FAILURE=\033[1;31m
    + Queue=
    + getopts :m:q:i: OPT
    + Mail=blabla@cie.com
    + getopts :m:q:i: OPT
    + Qmgr=MQRSDH12
    + getopts :m:q:i: OPT
    + [ -z MQRSDH12 ]
    + [ == ]
    + deadQ
    A file or path name is too long.
    ./mailer.ksh[13]: ^JQueue: TEST.ALEX                       Queue manager: MQRSDH12               ^J^JRelative position on queue  . . . . . . . . : 1^JMessage length (includes headers) . . . . . : 269^J^JMessage descriptor^J  Structure identifier  . . . . . . . . . . : MD^J  Structure version number  . . . . . . . . : 1^J  Message type  . . . . . . . . . . . . . . : Reply^J  Message lifetime in tenths of seconds . . : Unlimited^J  Feedback or reason code . . . . . . . . . : None^J  Data encoding . . . . . . . . . . . . . . : Native - UNIX^J  Coded character set identifier  . . . . . : 819^J  Format name . . . . . . . . . . . . . . . : MQIMS^J  Message priority  . . . . . . . . . . . . : 5^J  Message persistence . . . . . . . . . . . : Message is not persistent^J  Message identifier  . . . . . . . . . . . : C3E2D840D4D8C4F14040404040404040^J                                              C871EF7D61974E04^J  Correlation identifier  . . . . . . . . . : 414D51204D5152534448313220202020^J                                              4E68383929860874^J  Backout counter . . . . . . . . . . . . . : 0^J  Name of reply-to queue  . . . . . . . . . : ^J  Name of reply queue manager . . . . . . . : MQD1^J^J  Identity Context^J    User identifier . . . . . . . . . . . . : g66525^J    Accounting token  . . . . . . . . . . . : ...^J    Application data relating to identity . : ^J^J  Origin Context^J    Type of application that put the message: XCF^J    Name of application that put the message: IMD1OTMAIMD1^J    Date when message was put . . . . . . . : 20110929^J    Time when message was put (GMT) . . . . : 06331729^J    Application data relating to origin . . : ^J^JIMS Information Header^J  Structure identifier  . . . . . . . . . . : IIH^J  Structure version number  . . . . . . . . : 1^J  Length of MQIMS header  . . . . . . . . . : 84^J  Format name of the data . . . . . . . . . : MQIMSVS^J  Logical terminal override . . . . . . . . : ^J  Message format services map name  . . . . : DFSMO5^J  MQ format name of reply message . . . . . : ^J  RACF password or passticket . . . . . . . : ^J  Transaction instance identifier . . . . . : C871EF7B4A6194884040404040404040^J  Transaction state . . . . . . . . . . . . : 32^J  Commit mode . . . . . . . . . . . . . . . : 49^J  Security scope  . . . . . . . . . . . . . : 32^J^JIMS Variable String^J  Length of IMS message . . . . . . . . . . : 78^J  IMS flags . . . . . . . . . . . . . . . . : 0B00^J  IMS DATA  . . . . . . . . . . . . . . . . : DFS555I TRAN CK01101  ABEND S000^J                                              ,U4038 ; REASON=00000001; MSG IN^J                                               PROCESS:^J^J------------------------------------------------------------------------------^JRelative position on queue  . . . . . . . . : 2^JMessage length (includes headers) . . . . . : 931^J^JMessage descriptor^J  Structure identifier  . . . . . . . . . . : MD^J  Structure version number  . . . . . . . . : 1^J  Message type  . . . . . . . . . . . . . . : Datagram - no reply^J  Message lifetime in tenths of seconds . . : Unlimited^J  Feedback or reason code . . . . . . . . . : None^J  Data encoding . . . . . . . . . . . . . . : Native - UNIX^J  Coded character set identifier  . . . . . : 819^J  Format name . . . . . . . . . . . . . . . : MQSTR^J  Message priority  . . . . . . . . . . . . : 0^J  Message persistence . . . . . . . . . . . : Message is persistent^J  Message identifier  . . . . . . . . . . . : C3E2D840D4D8C4F14040404040404040^J                                              C816410F6CB8990A^J  Correlation identifier  . . . . . . . . . : 40404040404040404040404040404040^J                                              4040404040404040^J  Backout counter . . . . . . . . . . . . . : 0^J  Name of reply-to queue  . . . . . . . . . : ^J  Name of reply queue manager . . . . . . . : MQD1^J^J  Identity Context^J    User identifier . . . . . . . . . . . . : b0pr17d^J    Accounting token  . . . . . . . . . . . : ......@@....@@@@^J    Application data relating to identity . : ^J^J  Origin Context^J    Type of application that put the message: IMS^J    Name of application that put the message: IMD1    YSQS51^J    Date when message was put . . . . . . . : 20110718^J    Time when message was put (GMT) . . . . : 08282184^J    Application data relating to origin . . : ^J^JMessage text  . . . . . . . . . . . . . . . : ^J     B0010128          00000931SYC1    YSYSQS51  20110718093616               ^J                                                            FY01              ^J           LIQSYNBE00515357    210        20110718102800 ACK/1028/18GEBABEBBI0^J     EO056439                                                                 ^J                                                                              ^J                                                                              ^J                                                                              ^J                                                                              ^J                                                          LIQSYNBE00515357    ^J                                   00000236{1:F21GEBABEBBX36A0000000000}{4:{17^J     7:1107181028}{451:0}}{1:F01GEBABEBBX36A9999999999}{2:I210GEBABEBBXPAYN}{4^J     :.^J     :20:LIQSYNBE00515357.^J     :30:100128.^J     :21:PINGUIN 140MM EU.^J     :32B:EUR314,73.^J     :52A:BBRUBEBBXXX.^J     :56A:/227835070053.^J     GEBABEBB36A.^J     -}^J^J------------------------------------------------------------------------------^JRelative position on queue  . . . . . . . . : 3^JMessage length (includes headers) . . . . . : 930^J^JMessage descriptor^J  Structure identifier  . . . . . . . . . . : MD^J  Structure version number  . . . . . . . . : 1^J  Message type  . . . . . . . . . . . . . . : Datagram - no reply^J  Message lifetime in tenths of seconds . . : Unlimited^J  Feedback or reason code . . . . . . . . . : None^J  Data encoding . . . . . . . . . . . . . . : Native - UNIX^J  Coded character set identifier  . . . . . : 819^J  Format name . . . . . . . . . . . . . . . : MQSTR^J  Message priority  . . . . . . . . . . . . : 0^J  Message persistence . . . . . . . . . . . : Message is persistent^J  Message identifier  . . . . . . . . . . . : C3E2D840D4D8C4F14040404040404040^J                                              C816410F76229616^J  Correlation identifier  . . . . . . . . . : 40404040404040404040404040404040^J                                              4040404040404040^J  Backout counter . . . . . . . . . . . . . : 0^J  Name of reply-to queue  . . . . . . . . . : ^J  Name of reply queue manager . . . . . . . : MQD1^J^J  Identity Context^J    User identifier . . . . . . . . . . . . : b0pr17d^J    Accounting token  . . . . . . . . . . . : ......@@....@@@@^J    Application data relating to identity . : ^J^J  Origin Context^J    Type of application that put the message: IMS^J    Name of application that put the message: IMD1    YSQS51^J    Date when message was put . . . . . . . : 20110718^J    Time when message was put (GMT) . . . . : 08282188^J    Application data relating to origin . . : ^J^JMessage text  . . . . . . . . . . . . . . . : ^J     B0010128          00000930SYC1    YSYSQS51  20110718093616               ^J                                                            FY01              ^J           LIQSYNBE00515359    210        20110718102800 ACK/1028/18GEBABEBBI0^J     EO056440                                                                 ^J                                                                              ^J                                                                              ^J                                                                              ^J                                                                              ^J                                                          LIQSYNBE00515359    ^J                                   00000235{1:F21GEBABEBBX36A0000000000}{4:{17^J     7:1107181028}{451:0}}{1:F01GEBABEBBX36A9999999999}{2:I210GEBABEBBXPAYN}{4^J     :.^J     :20:LIQSYNBE00515359.^J     :30:100222.^J     :21:WINSOL 42MM EUR.^J     :32B:EUR349,13.^J     :52A:BBRUBEBBXXX.^J     :56A:/227835070053.^J     GEBABEBB36A.^J     -}^J^JBMCQMM307I Total messages selected: 3^JBMCQMM200I DIS command completed with condition code 0  : 0403-016 Cannot find or open the file.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Génération d'un nom de fichier de sortie à partir de donnée d'un tMap
    Par Slyvore dans le forum Développement de jobs
    Réponses: 5
    Dernier message: 10/04/2012, 14h57
  2. Comment lire des données d'un fichier XML à partir de java
    Par kamaldev dans le forum Format d'échange (XML, JSON...)
    Réponses: 11
    Dernier message: 25/08/2006, 19h29
  3. Réponses: 21
    Dernier message: 05/06/2006, 10h49
  4. fichier XML à partir d'une base de données SQL
    Par MuldyMath dans le forum XQUERY/SGBD
    Réponses: 6
    Dernier message: 24/05/2006, 13h57
  5. Réponses: 1
    Dernier message: 24/05/2005, 14h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo