Bonjour à tous,

un petit souci que je n'arrive pas a trouver et pourtant ce n'est pas faute de chercher, alors je viens voir la communauté.

J'aspire faire une sortie d'un "df -m" formaté sur n'importe qu'elle unix ayant la commande aclget soit AIX principalement (nota je ne connais pas la commande sous linux) :

Voici mon shell, et j'ai une boucle qui tourne 3 fois sans savoir pourquoi !!!

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
 
root@Mon_SRV : /root/bin # cat DF
#!/usr/bin/sh
VAR1=$(for FS in $(df -Mm | awk '{print $1}') ; do echo $FS | wc -c ; done > $$ ; sort -rn $$ | head -1 ; rm -f $$)
VAR2=$(for FS in $(df -Mm | awk '{print $2}') ; do echo $FS | wc -c ; done > $$ ; sort -rn $$ | head -1 ; rm -f $$)
VAR3=$(for FS in $(df -Mm | awk '{print $3}') ; do echo $FS | wc -c ; done > $$ ; sort -rn $$ | head -1 ; rm -f $$)
VAR4=$(for FS in $(df -Mm | awk '{print $4}') ; do echo $FS | wc -c ; done > $$ ; sort -rn $$ | head -1 ; rm -f $$)
VAR5=$(for FS in $(df -Mm | awk '{print $5}') ; do echo $FS | wc -c ; done > $$ ; sort -rn $$ | head -1 ; rm -f $$)
VAR6=$(for FS in $(df -Mm | grep -vE "%Iused|proc" | awk '{print $2}') ; do aclget -v $FS | grep owner | sed s'/(/ /g' | sed s'/)/ /g' | awk '{print $2}' | wc -c ; done > $$ ; sort -rn $$ | head -1 ; rm -f $$)
VAR7=$(for FS in $(df -Mm | grep -vE "%Iused|proc" | awk '{print $2}') ; do aclget -v $FS | grep owner | sed s'/(/ /g' | sed s'/)/ /g' | awk '{print $2}' | wc -c ; done > $$ ; sort -rn $$ | head -1 ; rm -f $$)
for FS in $(df -Mm | grep -vE "%Iused|proc" | awk '{print $2}')
do
        OU=$(aclget -v $FS | grep owner | sed s'/(/ /g' | sed s'/)/ /g' | awk '{print $2}')
        DU=$(aclget -v $FS | grep owner | sed s'/(/ /g' | sed s'/)/ /g' | awk '{print $4}')
        OG=$(aclget -v $FS | grep group | sed s'/(/ /g' | sed s'/)/ /g' | awk '{print $2}')
        DG=$(aclget -v $FS | grep group | sed s'/(/ /g' | sed s'/)/ /g' | awk '{print $4}')
        DO=$(aclget -v $FS | grep others | awk '{print $NF}')
        df -m | grep $FS | awk -v OU=$OU -v DU=$DU -v OG=$OG -v DG=$DG -v DO=$DO '{printf ("%-'"$VAR1"'s| %-'"$VAR2"'s| %-'"$VAR3"'s| %-'"$VAR4"'s| %-'"$VAR5"'s| %-'"$VAR6"'s: %-3s | %-'"$VAR7"'s: %-3s | others : %-3s |\n", $1,$7,$2,$3,$4,OU,DU,OG,DG,DO)}'
done
Si vous avez des précos pour :
1 - savoir pourquoi cela tourne 3 fois,
2 - si vous avez des amélioration je suis preneur

Merci d'avance à ceux qui voudrons bien se casser qq neurones

nota : Ceci étant pour ceux que ça intéresse si vous enlevez les variables du awk sur les aclget, il peut fonctionner aussi sous nunux, avec qq variantes dans les variables (C'est la sortie du df -m qui n'est pas identique à AIX).

Et tous mes vœux pour cette nouvelle année
Kalwin