Script shell

richard260958 Messages postés 8 Statut Membre -  
richard260958 Messages postés 8 Statut Membre -
Bonjour, mon script de substitution ne fait pas toutes les modifs que j'attends (ss unix). QQ'un a-t-il une idée?
merci

IFS="!"
if [ $# -lt 1 ]
then
echo "nom du fichier[.csv]"
exit
fi

for lg in `cat $1`
do
Fichier=`echo $lg | awk -F";" '{ printf "%s", $1 }'`
echo $Fichier

sed -e "s/Atout RPV/RPV/
{s/Null, 0, 0, Null)/Null, 0, 0, 1, Null, Null, Null, Null)/
s/Remise [Ff]icti[fv][ e]/Remise fictive/
s/ Null, 0, 0, 1)/ Null, 0, 0, 1, Null, Null, Null, Null)/
s/1, 3, 3, Null)/1, 3, 3, Null, Null, Null)/
}
" $UEFE_OT/g04/par/sql/$Fichier > wk2

mv -f wk2 $UEFE_OT/g04/par/sql/$Fichier

done
Configuration: Windows XP
Mozilla 1.7.13

2 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Peut-on avoir un exemple de fichier d'entrée (de sortie aussi, enfin ce que tu attends du moins) et surtout à quel niveau il ne fait pas les substitutions ?
    0
  2. richard260958 Messages postés 8 Statut Membre
     
    fichier entrée:
    *********************************************************

    Insert Into DESCRIPTIONS Values (-14994, 2, 0, "Atout RPV", "Abonn")
    Insert Into DESCRIPTIONS Values (-14992, 2, 0, "Remise fictive", "Remis")
    Insert Into UNIT_CR_DEFINITIONS Values (24816, 1, 1, Null, Null, Null, Null, "01/01/1996 00:00", Null, "08/17/2002 00:00", -14992, 1, 3, 3, Null)
    Insert Into CONTRACT_TYPES Values (24816, 6, 24816, Null, -1, -1, Null, 24816, Null, Null, 1, -14993, Null, -1, Null, Null, Null, Null, Null, 0, Null, 0, 0, 1)
    Insert Into CONTRACT_TYPES Values (24816, 6, 24816, Null, -1, -1, Null, 24816, Null, Null, 1, -14993, Null, -1, Null, Null, Null, Null, Null, 0, Null, 0, 0, Null)

    fichier sortie souhaité:
    ********************************************************
    Insert Into DESCRIPTIONS Values (-14994, 2, 0, "RPV", "Abonn")
    Insert Into DESCRIPTIONS Values (-14992, 2, 0, "Remise Fictive", "Remis")
    Insert Into UNIT_CR_DEFINITIONS Values (24816, 1, 1, Null, Null, Null, Null, "01/01/1996 00:00", Null, "08/17/2002 00:00", -14992, 1, 3, 3, Null, Null, Null)
    Insert Into CONTRACT_TYPES Values (24816, 6, 24816, Null, -1, -1, Null, 24816, Null, Null, 1, -14993, Null, -1, Null, Null, Null, Null, Null, 0, Null, 0, 0, 1, Null, Null, Null, Null)
    Insert Into CONTRACT_TYPES Values (24816, 6, 24816, Null, -1, -1, Null, 24816, Null, Null, 1, -14993, Null, -1, Null, Null, Null, Null, Null, 0, Null, 0, 0, 1, NUll, Null, Null, Null)

    *****************************************************
    fichier obtenu:
    Insert Into DESCRIPTIONS Values (-14994, 2, 0, "RPV", "Abonn")
    Insert Into DESCRIPTIONS Values (-14992, 2, 0, "Remise fictive", "Remis")
    Insert Into UNIT_CR_DEFINITIONS Values (24816, 1, 1, Null, Null, Null, Null, "01/01/1996 00:00", Null, "08/17/2002 00:00", -14992, 1, 3, 3, Null)
    Insert Into CONTRACT_TYPES Values (24816, 6, 24816, Null, -1, -1, Null, 24816, Null, Null, 1, -14993, Null, -1, Null, Null, Null, Null, Null, 0, Null, 0, 0, 1)
    Insert Into CONTRACT_TYPES Values (24816, 6, 24816, Null, -1, -1, Null, 24816, Null, Null, 1, -14993, Null, -1, Null, Null, Null, Null, Null, 0, Null, 0, 0, 1, Null, Null, Null, Null)

    fictive non corrigée
    1, 3, 3, Null) non corrigé
    0, 0, 1) non corrigé
    0