mercredi 27 octobre 2010

linux : shell script

Voici quelques exemples sympa de remplacements ...


grep -He tarif-applique.[0-9]*..tarif-applique $1/RAV9*.xml | sed "s/.*RAV\([0-9\-]*\).*:.*tarif-applique.\([0-9]*\)..tarif-applique.*/RAV \1 = \2 /" >> listeRAV-tarif.tmp

# puis on va chercher le RV la version du tarifs appliqué (si elle existe sinon ...A VOIR ...)
while read line
do
# creation d'un tableau, chaque espace sert de delimiter pour un futur element du tableau
arrLine=( $line)
# il peut y avoir plusieurs balise (avec les PANS) mais la version du tarifs du RV sera la dernière du fichier
version=( `grep -e version-tarif.[0-9]*..version-tarif $2/RV${arrLine[1]}.xml | sed "s/.*version-tarif.\([0-9]*\)..version-tarif.*/\1/"`)
# pour lister les tarifs des PANS
tarif=( `grep -e tarif-applique.[0-9]*..tarif-applique $2/RV${arrLine[1]}.xml | sed "s/.*tarif-applique.\([0-9]*\)..tarif-applique.*/\1/"`)
if [ ${#version[*]} -eq 0 ]
then
aff_version=" non trouve (inexistant, ou date incompatible, ...)"
elif [ ${#version[*]} -eq 1 ]
then
aff_version=" version ${version[0]}"
else
aff_version=" version ${version[$((${#version[*]}-1))]}"
# affichage des des tarifs des PANS
nb=0
while [ $nb -lt $((${#tarif[*]})) ]
do
echo "RV${arrLine[1]} PAN $((nb+1)) = ${tarif[nb]} version ${version[nb]}" >> listeRV-PAN-tarif-version.tmp
nb=$((nb+1))
done
fi
echo "RV${arrLine[1]} = ${arrLine[3]} $aff_version" >> listeRV-tarif-version.tmp
done < listeRAV-tarif.tmp

cat listeRV-tarif-version.tmp | sed "s/.*=\(.*\)/\1/" > listeTarifBrute.tmp
cat listeRV-PAN-tarif-version.tmp | sed "s/.*=\(.*\)/\1/" >> listeTarifBrute.tmp

nbTests=`cat listeRAV-tarif.tmp | wc -l`
nbId=`cat listeRAV-tarif.tmp | sed "s/.*=\(.*\)/\1/" | sort -u | wc -l`
nbTarifs=`cat listeRV-tarif-version.tmp | sed "s/.*=\(.*\)/\1/" | sort -u | wc -l`
nbTarifsPAN=`cat listeRV-PAN-tarif-version.tmp | sed "s/.*=\(.*\)/\1/" | sort -u | wc -l`

Aucun commentaire:

Enregistrer un commentaire