Salutations,Cette fonction bash peut-elle être optimisée?
J'ai un script bash qui analyse les fichiers ZIP que nous recevons d'un client et les décompresse si un ensemble de critères est reconnu. Ça marche bien mais c'est lent. En particulier, la fonction suivante:
function getCTLfile() {
for i in ${HDD_LIST_Array[@]}
do
if [[ `echo ${i}|awk -F . '{print $NF}'` == "ctl" ]]
then
echo "${i}"
fi
done
}
but de cette fonction est d'obtenir le nom du fichier de contrôle contenu dans un fichier ZIP. HDD_LIST_Array[@]
est obtenu thusly pour chaque fichier zip:
HDD_LIST_Array=(`unzip -l $name | head -n -2|tail -n +4 | sort -r | awk '{print $4}'`)
Encore une fois, cela fonctionne, bien que lentement. Cette fonction peut-elle être optimisée pour fonctionner plus vite? Aucun conseil?
Merci.
pouvez-vous nous donner un exemple de la sortie de unzip -1 pour vos fichiers zip, et la sortie de getCTLfile –
décompressez sortie === >> CTCA_HDD_20101108_150000.ctl 029045871901 ~ Seagate ~ 20101108 ~ 140021.HDD 028919111311 ~ WD ~ 20101108 ~ 140025.HDD ... – Chris
sortie getCTLfile === >> est Suffixe: ctl. – Chris