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

Shell et commandes GNU Discussion :

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


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 90
    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 émérite Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Par défaut
    Bonjour,

    Chez moi, ceci fonctionne correctement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    param1=${parameters%%;*}
    param2=${parameters#*;}

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 90
    Par défaut
    Citation Envoyé par jmelyn Voir le message
    Bonjour,

    Chez moi, ceci fonctionne correctement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    param1=${parameters%%;*}
    param2=${parameters#*;}
    ca marche super. Merci !!!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/11/2009, 15h17
  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