Bonjour,
Je viens d'écrire un script que voici :
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
Le résultat retourné est le suivant :
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 ]
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.
Merci de votre aide

Stéphane