Bonjour,
Je viens d'écrire un script que voici :
Le résultat retourné est le suivant :
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 #!/bin/ksh # --------------------------------------------------------# # Affiche les jobs en START # --------------------------------------------------------# TEMPFILE=/tmp/tmp_file PRINTFILE=/tmp/tmp_result_file cautil select tjob id=*,*,* runstat=start list tjob|awk '/Jobset:/,/End:/'|grep -v TJOB > $TEMPFILE awk ' /Jobset/ { jobset=$2 ; nb=NF ; getline ; # jobset job=$2 ; nb=NF ; getline ; # job qual=$4 ; nb=NF ; getline ; # qualifier nb=NF ; getline ; $1 = "" ; desc=$0 ; nb=NF ; getline ; # description if ($3 ~ /START/) { etat="START" } ; nb=NF ; getline ; # Calendar nb=NF ; getline ; # LIGNE 08 Actual Queue nb=NF ; getline ; # LIGNE 09 Anycpu nb=NF ; getline ; # LIGNE 10 Priority nb=NF ; getline ; # LIGNE 11 Job Type nb=NF ; getline ; # LIGNE 12 Abend action nb=NF ; getline ; # LIGNE 13 Abort Count nb=NF ; getline ; # LIGNE 14 Scheduled nb=NF ; getline ; # LIGNE 15 early nb=NF ; getline ; # LIGNE 16 Must Start nb=NF ; getline ; # LIGNE 17 Start and End StartD=$2 ; StartT=$3 ; if ( nb > 1 ) { printf("\t [ %-s.%-s ] [ %-s ] [ %-s ] [%-s ] [ %-s ] [ %-s ]\n",jobset,job,qual,etat,desc,StartD,StartT) } } END {} ' $TEMPFILE > $PRINTFILE cat $PRINTFILE
Ce que je cherche à faire c'est aligner correctement les colonnes dans mon résultat. Je cherche donc l'équivalent de la fonction str_pad() de php mais en shell et si inexistante quelle serait la méthode pour y arriver.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 [ pared000.pared ] [ 0301 ] [ START ] [ Generation echeancier niveau ] [ 11/03/2007 ] [ 05:50:29.00 ] [ psybc000.psyckbar ] [ 0301 ] [ START ] [ BCV Arpege : Check derniere synchro ] [ 11/03/2007 ] [ 07:30:24.00 ]
Merci de votre aide
Stéphane
Partager