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

Linux Discussion :

Creation et ecriture d'un fichier


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Matmal11
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 111
    Par défaut Creation et ecriture d'un fichier
    Bonjour,

    Je voudrais, à partir d'un script shell en bash, créer un fichier et écrire dedans.
    J'ai essayé diverses méthodes qui ne m'ont pas permises d'arriveau résultat attendu.

    d'abord j'ai fait:

    cat >bdpps.sql <<"EOF"
    for nom_fic in *
    do
    >>COPY nom_table FROM 'nom_fic' etc...
    done

    mais dans mon fichier j'obtiens tous les carcatères y compris les boucles, les >>. J'ai également créé le fichier avec TOUCH et j'arrive au même résultat.
    Je voudrais juste créer un fichier SQL qui contient les commandes permettant de remplir une base de données pour ensuite le lancer.

    Pouvez-vous me dire comment je peux faire pour n'avoir que les caractères voulus dans le fichier créé?

    Merci par avance

    Mathias

  2. #2
    Membre confirmé Avatar de Matmal11
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 111
    Par défaut
    Après d'autre test je viens de déceler mon problème, mais je ne sais pas comment le régler.

    Je fais donc ça:

    touch mon_fichier.txt
    echo "COPY table FROM 'fichier' delimiter ';' csv quote '"';" >> mon_fichier.txt

    Le problème vient des guillemets. Mon fichier csv est délimité par des ; et chaque champ est entouré par des guillemets.
    Lorsque Linux execute mon shell, il s'arrête au guillemet contenu dans CSV QUOTE'"' et donc ne termine pas d'executer la ligne et s'arrête.

    Sachant que je ne peux changer le format de mes fichiers csv, est-il possible de trouver une solution à ce problème.
    Merci beaucoup
    Mathias

  3. #3
    Membre confirmé Avatar de Matmal11
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 111
    Par défaut
    Salut, j'ai trouvé la réponse, si ca interesse quelqu'un:

    en fait il faut ecrire l'option csv quote comme ça:

    echo "COPY table FROM 'fichier' delimiter ';' csv quote as '\"';" >> mon_fichier.txt

    et là le guillemet n'est plus pris comme fin de commande echo, mais comme paramètre de l'option.

    Voila,

    Merci moi-même (étant novice je m'impressionne un peu...lol)

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

Discussions similaires

  1. Creation/Ecriture dans un fichier .CSV
    Par RodolpheHTL dans le forum C#
    Réponses: 2
    Dernier message: 28/10/2011, 00h53
  2. Réponses: 4
    Dernier message: 24/10/2011, 17h14
  3. [LG]ecriture dans un fichier binaire
    Par jsaviola dans le forum Langage
    Réponses: 3
    Dernier message: 26/12/2003, 17h30
  4. Réponses: 2
    Dernier message: 26/09/2003, 14h51
  5. problem lors de l'ecriture d'un fichier
    Par gemai dans le forum C
    Réponses: 20
    Dernier message: 29/08/2003, 15h01

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