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 :

Scinder plusieurs fichiers


Sujet :

Shell et commandes GNU

  1. #1
    Membre très actif Avatar de Cvanhove
    Homme Profil pro
    Concepteur Développeur Informatique
    Inscrit en
    Septembre 2014
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Concepteur Développeur Informatique

    Informations forums :
    Inscription : Septembre 2014
    Messages : 174
    Par défaut Scinder plusieurs fichiers
    Bonjour,

    Je cherche à fusionner plusieurs fichiers JSON d'un même répertoire entre eux afin de ne garder qu'un seul et même fichier JSON.
    Pour cela je pensais faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tar cf Extraction.json Extraction_*
    Cependant j'ai l'impression que cela ne fonctionne pas correctement sous Windows (car oui je dois gérer le cas à la fois de linux ET de Windows).
    J'ai vu pas mal de commande comme cat, join, sed mais je ne suis que novice en commande shell...

    Exemple de ce que je veux faire :
    Extraction_1.json :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [{"data":[{"tata", "titi", "toto"}]}]
    Extraction_2.json :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [{"data":[{"tata2", "titi2", "toto2"}]}]
    Extraction_finale.json :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [{"data":[{"tata", "titi", "toto"}]}];[{"data":[{"tata2", "titi2", "toto2"}]}]
    Cordialement

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Bonjour,

    le premier réflexe est de dire que la ligne d'un texte windows finit par "\r\n" alors qu'une ligne *nix finit par "\n". Si tu fais un script sous linux, le \r (retour chariot) se trouvera en plein milieu de ta ligne obtenue (les caractères suivants écrasant éventuellement ceux déjà écrits).

    Cela est-il le problème ?

  3. #3
    Membre très actif Avatar de Cvanhove
    Homme Profil pro
    Concepteur Développeur Informatique
    Inscrit en
    Septembre 2014
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Concepteur Développeur Informatique

    Informations forums :
    Inscription : Septembre 2014
    Messages : 174
    Par défaut
    Je "pense" que cela peut être le problème. Comment gérer les deux cas?
    Une autre question, est-ce qu'un cat ou une autre commande serait plus pertinent?

  4. #4
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    • Attention: je n'ai jamais vu un Json qui utilisait le point virgule pour séparateur
    • Pour le \r, les conséquences sont:
      • Un fichier texte linux lu sous windows ne présente qu'une ligne dans le bloc-note.
      • Un fichier windows lu dans un shell pour linux a des \r indésirables.
    • La solution peut être:
      • Supprimer les \r (quit à les remettre en fin de processus) par la commande suivante:
        Attention! l'option -i transforme les fichiers initiaux.
      • Concaténer les fichiers textes par un script awk '((FNR==1) && (NR!=1)){print ",";} 1' * ou un truc du genre
      • Cat peut être bien aussi. Il faudrait savoir le format du résultat.
      • Pourquoi parles-tu de tar ? Les fichiers de bases sont sous forme d'archives ?

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

Discussions similaires

  1. Scinder un fichier dans plusieurs classeurs
    Par krapoulos dans le forum Excel
    Réponses: 7
    Dernier message: 01/06/2015, 17h39
  2. [XL-2007] Scinder un fichier de 750 000 lignes en plusieurs (inclut un TCD)
    Par pedro2912 dans le forum Conception
    Réponses: 3
    Dernier message: 10/08/2010, 18h45
  3. scinder hibetnate.cfg.xml en plusieurs fichiers XML
    Par pcouas dans le forum Hibernate
    Réponses: 0
    Dernier message: 06/07/2010, 13h08
  4. Réponses: 15
    Dernier message: 16/01/2009, 00h16
  5. Génerer automatiquement plusieurs fichier .doc
    Par brunovitch dans le forum QuickReport
    Réponses: 3
    Dernier message: 09/07/2002, 08h19

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