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 :

comment incrementer en ligne dans AWK?


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
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 171
    Par défaut comment incrementer en ligne dans AWK?
    je sais que l'increment en colonne (pour une ligne donnée) est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (i=1; i<iMax;i++)
    if($i= "toto"){
    action...
    }
    pour l'increment en ligne c'est quoi??

    Merci d'avance....

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Si tu veux dire passer à la ligne suivante sans exécuter le code awk qui suit, c'est next.

    Pourrais-tu donner un échantillon du fichier entrée ainsi que la sortie désirée?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 171
    Par défaut
    Merci infiniment pour l'aide...

    mon code est le suivant:
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    ($1=="PWHTAB") {
     
    	if(nomTab != " "){
    	ind = 8
    	}
    	else{ ind=7}
     
     
     
    				for(itrTHP = 1; itrTHP <= NbElemP; itrTHP++){
    					for(itrWcut = 1; itrWcut <= NbElemW; itrWcut++){
    						for(itrGOR = 1; itrGOR <= NbElemGO; itrGOR++){
    							printf(itrTHP);printf("  ");printf(itrWcut);printf("  ");printf(itrGOR);printf("  ");printf("1");printf("  ");
     
     
     
    		multPDC=0
            nbItrMax= NbElemQ/4
            eps = nbItrMax - int(nbItrMax)
     
    				while(multPDC<int(nbItrMax)){
    					resPDC = 4 * multPDC
    					if (multPDC == 0){
    					printf($(ind+resPDC)); printf("  ");printf($(ind+resPDC+1)); printf("  ");printf($(ind+resPDC+2)); printf("  ");printf($(ind+resPDC+3));print("  ")
    					}
    					else{
    					printf("            ");printf($(ind+resPDC)); printf("  ");printf($(ind+resPDC+1)); printf("  ");printf($(ind+resPDC+2)); printf("  ");printf($(ind+resPDC+3));print("  ")
    					}
     
     
     
                    multPDC=multPDC+1
     
                    }
     
                    if (eps>0.001){
    			y = 3
                    	nbEps = 4*eps
     
    		 	if(int(nbItrMax)==0){
    				y = 0
    				resPDC=0
    				ind=ind-1
    			}
     
    			for(m=1;m<=nbEps;m++){
    			printf($(ind+resPDC+y+m)); printf("  ")
     
    					}
     
    				}
     
    				print("/")
    				}
    			}
    		}
    }
    en fait dans mon fichier d'origine, j'ai n fois le mot PWHTAB

    le fichier crée lorsque j'execute contient n fois le meme tableau (suite au boucle for) et ceci de chaque PWHTAB trouvé!
    c'est à dire finalement j'ai l'operation qui est aussi repetée n fois!!

    avez vous une idée?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 171
    Par défaut
    pieces jointes envoyées du fichier d'origine et converti. le bout du programme est dans la reponse precedante...

    le fichier format wordpad est l'original. le 2nd (doc) est le converti
    Fichiers attachés Fichiers attachés

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Essaye de mettre quelques lignes typiques du fichier source et ce que tu veux en faire. Parce qu'en regardant ton fichier modifié, je ne vois pas trop la logique de ton truc ni le problème que tu as.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 171
    Par défaut
    en fait le tout est dans la fiche "saut de ligne dans AWK"... dsl pr le doublon!

    dans le fichier d'origine j'ai des ligne qui commence par PWHTAB
    mon but et de stocké les valeur de cette ligne dans un nouveau fichier sous forme d'un tableau precedé à chaque fois de l'indice du tableau: c a d

    1 1 1 1
    1 1 2 1
    1 1 3 1
    1 2 1 1
    etc...

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

Discussions similaires

  1. Comment sélectionner une ligne dans une TStringGrid ?
    Par Ben_Le_Cool dans le forum Composants VCL
    Réponses: 11
    Dernier message: 22/08/2005, 12h38
  2. Comment dessiner une ligne dans un Chart ?
    Par libititi dans le forum Composants VCL
    Réponses: 3
    Dernier message: 16/06/2005, 14h56
  3. [D7] Comment sauter une ligne dans un titre de grid ?
    Par Magnus dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/04/2005, 12h47
  4. [C#] Comment supprimer une ligne dans DataGrid ?
    Par BAUDIER dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/07/2004, 16h03
  5. Comment griser une ligne dans une TListBox ?
    Par SegmentationFault dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/06/2004, 09h15

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