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 :

éclat d'un fichier en plusieurs


Sujet :

Linux

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2003
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 166
    Par défaut éclat d'un fichier en plusieurs
    Bonjour,

    je voulais eclater un fichier en plusieurs fichiers suivant des numeros de caisses en rajoutant au debut de chacun l'entete
    " ;CR;;REGROUPEMENT;;NATURE"

    mon fichier est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
     ;CR;;REGROUPEMENT;;NATURE                           
    200603;199513;GE;  HORS REUNION AERIENNE ET SPATIALE 
    200603;199513;GE;  HORS REUNION AERIENNE ET SPATIALE 
    200603;199513;GE;  HORS REUNION AERIENNE ET SPATIALE 
    200603;199513;GE;  HORS REUNION AERIENNE ET SPATIALE 
    200603;199521;GE;  HORS REUNION AERIENNE ET SPATIALE 
    200603;199521;GE;  HORS REUNION AERIENNE ET SPATIALE
    j'ai fait ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    awk ' 
    FNR==1 { ENTETE=$0 
          }
     
     
    NR!=1 { CODE_CR=(substr($0,8,6)) 
     
            print  $0   >"test_"CODE_CR 
          }
     
         { print ENTETE >> "test_"CODE_CR
         } 
     ' fic

  2. #2
    Membre émérite Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Par défaut
    [QUOTE=melmouj]Bonjour,

    je voulais eclater un fichier en plusieurs fichiers suivant des numeros de caisses en rajoutant au debut de chacun l'entete
    " ;CR;;REGROUPEMENT;;NATURE"

    mon fichier est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
     ;CR;;REGROUPEMENT;;NATURE                           
    200603;199513;GE;  HORS REUNION AERIENNE ET SPATIALE 
    200603;199513;GE;  HORS REUNION AERIENNE ET SPATIALE 
    200603;199513;GE;  HORS REUNION AERIENNE ET SPATIALE 
    200603;199513;GE;  HORS REUNION AERIENNE ET SPATIALE 
    200603;199521;GE;  HORS REUNION AERIENNE ET SPATIALE 
    200603;199521;GE;  HORS REUNION AERIENNE ET SPATIALE
    QUOTE]


    Ça doit fonctionner

    http://lea-linux.org/cached/index/Dev-awk.html#


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    awk -F";" '
    {
    	if (NR == 1) {
    		CODE_CR=""
    		Titre=$0
    		next
    	}
    	if ($2 != CODE_CR) {
    		CODE_CR=$2
    		OutFile="test_"CODE_CR
    		print Titre > OutFile
    	}
    	print $0 > OutFile
    } '  fic

Discussions similaires

  1. Réponses: 12
    Dernier message: 13/01/2006, 10h14
  2. Imprimer automatiquement fichiers de plusieurs formats
    Par lutin511 dans le forum Windows
    Réponses: 5
    Dernier message: 07/12/2005, 18h38
  3. Lister les fichiers de plusieurs sous-répertoire ?
    Par ratbiker dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 25/11/2005, 21h20
  4. [XSLT] - Trier un fichier sur plusieurs critères
    Par ytse dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 11/10/2005, 16h26
  5. utiliser le même fichier dans plusieurs projets vc++6
    Par yannick_sch dans le forum MFC
    Réponses: 5
    Dernier message: 12/02/2004, 17h39

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