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 :

Conversion retour chariot sur un flux


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    Par défaut Conversion retour chariot sur un flux
    Bonjour,

    Voici mon probleme, j'ai un flux qui ressemble en gros a cela:

    AA|BB|CC|DD|EE|FF

    Malheureusement des fois j'ai:
    AA|BB|CC|D
    D|EE|FF
    donc en faites mon fichier de flux ressemble a cela:

    AA|BB|CC|DD|EE|FF
    AA|BB|CC|D
    D|EE|FF
    AA|BB|CC|DD|EE|FF

    Je veux ressortir sous cette forme:

    ID: Serv: Entreprise: Bureau:
    --- ----- ------------ --------
    BB CC DD FF

    malheureusement quand j'ai le retour chariot, j'obtiens ceci:

    ID: Serv: Entreprise: Bureau:
    --- ----- ------------ --------
    BB CC D

    Ce qui est normal puisque mes champs ne correspondent plus a ma requete.

    Comment faire pour afficher cela:
    ID: Serv: Entreprise: Bureau:
    --- ----- ------------ --------
    BB CC DD FF

    meme quand mon fichier a un retour chariot??

    je n'y arrive pas, pouvez vous m'aider?

    Merci

  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
    Attention : ne gère que le PB de retour à la ligne sur le 4ème champ.

    http://lea-linux.org/cached/index/Dev-awk.html
    http://www.shellunix.com/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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    awk -F"|" '
    BEGIN {
    	printf ("ID: Serv: Entreprise: Bureau:\n")
    	printf ("--- ----- ------------ --------\n")
    }
    {
    	#-- Présence de 6 champs dans l enreg : OK
    	if (NF == 6) {
    		printf ("%s|%s|%s|%s\n",$2,$3,$4,$6)
    		next
    	}
    	#-- PAS 6 champs dans l enreg.
    	#-- Cas géré : retour à la ligne sur le 4ème champ.
    	#-- Concaténation de l enreg courant de de l enreg suivant.
    	if (NF != 4) {
    		print "*** ENR "NR" : cas non prévu !!!" | "cat 1>&2"
    		exit
    	}
    	printf ("%s|%s|%s",$2,$3,$4)
    	getline
    	if (NF != 3) {
    		print "*** ENR "NR" : cas non prévu !!!" | "cat 1>&2"
    		exit
    	}
    	printf ("%s|%s\n",$1,$3)
    } '  entree.txt > sortie.txt

  3. #3
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    Par défaut
    Effectivement cela fonctionne pour un cat mais comme je l'ai indiqué mon souci ets que cela doit se faire sur un flux, donc mon départ est un tail-f fichier et m'affiche au final:
    ID: Serv: Entreprise: Bureau:
    --- ----- ------------ --------
    BB CC DD FF

    En sortie d'affichage.

    Je suis en train d'essayer de modifier ton script pour laccorder avec ce que j'ai, je lutte mon fichier ayant en réalité 40 champs.

    Merci a toi

  4. #4
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    Par défaut
    Bon j'ai reussi, je me suis pris la tete pour rien, c'etait finalement simple


    Merci a vous.

Discussions similaires

  1. Retour chariot sur codes barres
    Par fspiecart dans le forum AS/400
    Réponses: 2
    Dernier message: 18/02/2012, 14h27
  2. conversion retour chariot UNIX > DOS - DOS > UNIX
    Par knebhi dans le forum Langage
    Réponses: 1
    Dernier message: 27/12/2009, 19h35
  3. retour chariot sur lecture de fichier
    Par Sopalinou dans le forum Langage
    Réponses: 2
    Dernier message: 15/12/2009, 12h04
  4. Réponses: 8
    Dernier message: 06/08/2007, 00h34
  5. retour de chariot sur champs clé primaire
    Par azde7015 dans le forum Access
    Réponses: 5
    Dernier message: 03/04/2006, 15h46

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