IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Unix Discussion :

KSH : fichier de paramètres séparés par ";" qui peuvent contenir des ";"


Sujet :

Unix

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 90
    Points : 111
    Points
    111
    Par défaut KSH : fichier de paramètres séparés par ";" qui peuvent contenir des ";"
    Hey,

    Je suis en train d'écrire un petit script qui met à jour des données dans une db.
    Je recois en entrée un fichier plat au format texte qui contient les données suivantes :
    RecordID;free text

    Il me suffit alors de faire un update dans ma db en rajoutant le free text au record identifié par RecordID. Facile non ?

    Je fait donc une boucle pour lire tout le fichier d'entrée, je découpe la ligne en plusieurs variable et je fais appel à un script sql pour l'update :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while read parameters ; do
    	param1=$(print $parameters|cut -f1 -d';')
    	param2=$(print $parameters|cut -f2 -d';')
    	sqlplus -s $ORACONNECT @$SQLFILE $param1 $param2
    done < InputFile.txt
    Le truc c'est que si le champ free text contient un ";" je ne récupère pas toute l'info pour l'update de mon record.
    Avec une entrée tel que :
    15465954;ceci est un champ texte libre; comme vous le voyez il contient un ";"
    je n'update le record 15465954 qu'avec ceci est un champ texte libre et pas avec ceci est un champ texte libre; comme vous le voyez il contient un ";" comme je le voudrais..

    Une idée ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 90
    Points : 111
    Points
    111
    Par défaut
    J'ai reçu cette solution-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    param1=${parameters%%;*}
    param2=${parameters#*;}
    et cela marche très bien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. KSH : fichier de paramètres séparés par ";" qui peuvent contenir des ";"
    Par rafuoner dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 10/11/2009, 15h15
  2. Réponses: 1
    Dernier message: 23/06/2009, 19h35
  3. Batch remplacer \ par \\ dans fichier en paramètre
    Par prodi_64 dans le forum Windows
    Réponses: 1
    Dernier message: 19/02/2007, 14h41
  4. Réponses: 7
    Dernier message: 01/02/2007, 18h02
  5. Réponses: 14
    Dernier message: 20/03/2006, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo