Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1870 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  shell et fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

shell et fichier

n°1154436
demo2000
Posté le 20-07-2005 à 10:23:23  profilanswer
 

j'ai un fichier comme suit :

Code :
  1. --
  2. tata2,tata3,tata1
  3. toto1,toto2,toto3
  4. titi1,titi2,titi3
  5. --
  6. tata4,tata5,tata6
  7. toto4,toto5,toto6
  8. titi4,titi5,titi6
  9. --
  10. tata6,tata7,tata1
  11. toto7,toto8,toto9
  12. titi7,titi8,titi9
  13. --


c.à.d : des blocs de 3 lignes séparer par "--"
je voudrais avoir :

Code :
  1. tata2,tata3,tata1
  2. toto1,toto2,toto3
  3. titi1,titi2,titi3
  4. --
  5. tata6,tata7,tata1
  6. toto7,toto8,toto9
  7. titi7,titi8,titi9


c.à.d: avoir tous les blocs dont la 3 ème colonne de la première ligne est "tata1"
Merci


Message édité par demo2000 le 20-07-2005 à 10:46:16
mood
Publicité
Posté le 20-07-2005 à 10:23:23  profilanswer
 

n°1154440
sircam
I Like Trains
Posté le 20-07-2005 à 10:24:55  profilanswer
 

Ecris un script qui fait ça. :o


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1154450
Elmoricq
Modérateur
Posté le 20-07-2005 à 10:27:37  profilanswer
 

Euh, rapport avec le langage C ?  
 
Et shell ok, mais quel shell ?

n°1154474
demo2000
Posté le 20-07-2005 à 10:47:45  profilanswer
 

avec awk ça peut se faire, mais je ne sait pas comment passer à une ligne précise ?


Message édité par demo2000 le 20-07-2005 à 10:50:03
n°1154650
Deadlock
Feck off, cup !
Posté le 20-07-2005 à 13:17:32  profilanswer
 

Tu n'as pas d'espace dans tes blocs ? Ce sont bien 3 "mots" séparés par des virgules ?


---------------
Institutions européennes: Ensemble d'outils dont le but est de transformer une grande quantité d'argent en merde. Cette merde est utilisée pour créer de nouveaux fonctionnaires. L'argent restant payant des externes pour faire leur travail.
n°1154655
demo2000
Posté le 20-07-2005 à 13:19:40  profilanswer
 

Citation :


Tu n'as pas d'espace dans tes blocs ? Ce sont bien 3 "mots" séparés par des virgules ?


oui

n°1154668
sircam
I Like Trains
Posté le 20-07-2005 à 13:31:12  profilanswer
 

Sur ce forum, on ne donne pas de solutions toutes faites comme tu sembles l'attendre.
 
On peut par contre t'aiguiller ou te conseiller. Par quoi as-tu commencé ? Qu'as-tu déjà fait ? Quel langage de script connais-tu ?


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1154670
Deadlock
Feck off, cup !
Posté le 20-07-2005 à 13:33:04  profilanswer
 

Quelle platforme ? Les AWK se comportent différement d'une à l'autre.


---------------
Institutions européennes: Ensemble d'outils dont le but est de transformer une grande quantité d'argent en merde. Cette merde est utilisée pour créer de nouveaux fonctionnaires. L'argent restant payant des externes pour faire leur travail.
n°1154689
Deadlock
Feck off, cup !
Posté le 20-07-2005 à 13:53:25  profilanswer
 

Bon testé sous Cygwin (AWK) et sous Solaris (NAWK)

$ cat test1

--
tata2,tata3,tata1
toto1,toto2,toto3
titi1,titi2,titi3
--
tata4,tata5,tata6
toto4,toto5,toto6
titi4,titi5,titi6
--
tata6,tata7,tata1
toto7,toto8,toto9
titi7,titi8,titi9


 
$ awk -F"," -v Select="tata1" '$1 == "--" { next } $3 == Select { print $0 ; i=1 ; next } i == 1 { print $0 ; i=2 ; next } i == 2 { print $0 ; print "--" ; i=0 ; next }' test1

tata2,tata3,tata1
toto1,toto2,toto3
titi1,titi2,titi3
--
tata6,tata7,tata1
toto7,toto8,toto9
titi7,titi8,titi9
--


 
Tu as juste à changer la valeur de la variable Select si tu veux faire le test sur autre chose (tata6 par exemple):
 
$ awk -F"," -v Select="tata6" '$1 == "--" { next } $3 == Select { print $0 ; i=1 ; next } i == 1 { print $0 ; i=2 ; next } i == 2 { print $0 ; print "--" ; i=0 ; next }' test1

tata4,tata5,tata6
toto4,toto5,toto6
titi4,titi5,titi6
--


Message édité par Deadlock le 20-07-2005 à 14:35:18

---------------
Institutions européennes: Ensemble d'outils dont le but est de transformer une grande quantité d'argent en merde. Cette merde est utilisée pour créer de nouveaux fonctionnaires. L'argent restant payant des externes pour faire leur travail.
n°1154710
sircam
I Like Trains
Posté le 20-07-2005 à 14:05:16  profilanswer
 

Deadlock -> tu es hors-charte. :o
 
Ce n'est pas pour rien ni pour faire chier que cette règle existe. :o


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
mood
Publicité
Posté le 20-07-2005 à 14:05:16  profilanswer
 

n°1154726
Deadlock
Feck off, cup !
Posté le 20-07-2005 à 14:14:39  profilanswer
 

sircam a écrit :

Deadlock -> tu es hors-charte. :o
Ce n'est pas pour rien ni pour faire chier que cette règle existe. :o

T'es apprenti modo ? Pour les scolaires je veux bien mais bon ... enfin bref.


---------------
Institutions européennes: Ensemble d'outils dont le but est de transformer une grande quantité d'argent en merde. Cette merde est utilisée pour créer de nouveaux fonctionnaires. L'argent restant payant des externes pour faire leur travail.
n°1154735
demo2000
Posté le 20-07-2005 à 14:18:44  profilanswer
 

ça marche
demo2000 à écrit :

Citation :


 je ne sait pas comment passer à une ligne précise


la solution est la commade :

Citation :


next :stoppe le travail sur l'enregistrement courant
et passe au suivant ensuite, reprend les actions à partir du début du script (abandon du reste du script pour l’enregistrement courant)


Merci Deadlock


Message édité par demo2000 le 20-07-2005 à 14:24:23
n°1154869
sircam
I Like Trains
Posté le 20-07-2005 à 15:35:02  profilanswer
 

Deadlock a écrit :

T'es apprenti modo ? Pour les scolaires je veux bien mais bon ... enfin bref.


Certainement pas, mais j'aime passer du temps sur ce forum, et moins on donnera de réponses toutes cuites, moins aura de leechers qui reviendront tous les 5 jours sans jamais faire d'effort.
 
Ce genre de règles n'existent pas pour plaire au modos.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1154975
Deadlock
Feck off, cup !
Posté le 20-07-2005 à 16:15:44  profilanswer
 

sircam a écrit :

Certainement pas, mais j'aime passer du temps sur ce forum, et moins on donnera de réponses toutes cuites, moins aura de leechers qui reviendront tous les 5 jours sans jamais faire d'effort.
Ce genre de règles n'existent pas pour plaire au modos.

Moi aussi j'aime passer du temps ici, mais si un jour je suis dans la m...e et qu'une personne pouvant me dépanner me donne seulement des pistes et non la solution à cause d'une interprétation (personnelle) de certaines rêgles je trouverai ce forum bien moins "sexy".


---------------
Institutions européennes: Ensemble d'outils dont le but est de transformer une grande quantité d'argent en merde. Cette merde est utilisée pour créer de nouveaux fonctionnaires. L'argent restant payant des externes pour faire leur travail.
n°1155063
sircam
I Like Trains
Posté le 20-07-2005 à 16:47:59  profilanswer
 

Deadlock a écrit :

Moi aussi j'aime passer du temps ici, mais si un jour je suis dans la m...e et qu'une personne pouvant me dépanner me donne seulement des pistes et non la solution à cause d'une interprétation (personnelle) de certaines rêgles je trouverai ce forum bien moins "sexy".


Cela n'a rien d'une interprétation personnelle :
 

Citation :

[0C] On ne fait pas le boulot à votre place.


 
Désolé, mais c'est précisemment ce que tu as fait. Rien de grave, je ne te jette pas la pierre et je ne te fais pas la morale, mais tu dois comprendre que cette règle claire n'est pas là par hasard.
 
On attend au moins un début de solution ou de recherche. Ce que tu ferais si tu posais une question, n'est-ce pas ? Et ce n'était pas le cas en l'espèce.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1155179
Deadlock
Feck off, cup !
Posté le 20-07-2005 à 18:01:56  profilanswer
 

On respecte les rêgles si on y adhère. Je continurai à aider les gens de la façon qui me plait. Et puis ce débat n'a pas lieu d'être car ni toi ni moi ne sommes là pour faire respecter les "rêgle" du forum.


---------------
Institutions européennes: Ensemble d'outils dont le but est de transformer une grande quantité d'argent en merde. Cette merde est utilisée pour créer de nouveaux fonctionnaires. L'argent restant payant des externes pour faire leur travail.
n°1155212
sircam
I Like Trains
Posté le 20-07-2005 à 18:45:44  profilanswer
 

Deadlock a écrit :

On respecte les rêgles si on y adhère.


Tu veux dire que tu n'as pas adhéré aux règles en t'inscrivant sur ce forum ? Tu te prends pour qui ? :o
 
Donc, par exemple, si j'ai décidé de ne pas adhérer aux règles, je peux t'insulter, ça ne te dérange pas ?
 

Deadlock a écrit :

Je continurai à aider les gens de la façon qui me plait. Et puis ce débat n'a pas lieu d'être car ni toi ni moi ne sommes là pour faire respecter les "rêgle" du forum.


Belle mentalité. Tu n'as rien fait de bien méchant, on va laisser ça comme ça pour cette fois.
 
Mais essaye de passer outre à des règles plus fondamentales et je me ferai un plaisir de demander aux personnes chargées de les faire respecter de te les rappeler.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1155229
Deadlock
Feck off, cup !
Posté le 20-07-2005 à 19:00:59  profilanswer
 

sircam a écrit :

Tu veux dire que tu n'as pas adhéré aux règles en t'inscrivant sur ce forum ? Tu te prends pour qui ? :o Belle mentalité. Tu n'as rien fait de bien méchant, on va laisser ça comme ça pour cette fois.  
Mais essaye de passer outre à des règles plus fondamentales et je me ferai un plaisir de demander aux personnes chargées de les faire respecter de te les rappeler.


 
Non mais il a fini de faire son petit flic le gamin ??? T'es amusant au début mais là tu commences à me chauffer ... et pour ta gouverne quand je me suis inscrit ces rêgles n'étaient pas encore publiées ... Et puis comme tu sembles vouloir pourrir se topic je vais y remédier moi-même !
 
http://forum-images.hardware.fr/themes_static/images_forum/1/exclam.gif


---------------
Institutions européennes: Ensemble d'outils dont le but est de transformer une grande quantité d'argent en merde. Cette merde est utilisée pour créer de nouveaux fonctionnaires. L'argent restant payant des externes pour faire leur travail.
n°1155238
sircam
I Like Trains
Posté le 20-07-2005 à 19:07:07  profilanswer
 

Deadlock a écrit :

Non mais il a fini de faire son petit flic le gamin ??? T'es amusant au début mais là tu commences à me chauffer ... et pour ta gouverne quand je me suis inscrit ces rêgles n'étaient pas encore publiées ... Et puis comme tu sembles vouloir pourrir se topic je vais y remédier moi-même !
 
http://forum-images.hardware.fr/th [...] exclam.gif


Je ne te comprends vraiment pas. Je te cite :

Citation :

On respecte les rêgles si on y adhère.


 

Citation :

Je continurai à aider les gens de la façon qui me plait.


 
Et tu me traites de gamin, ce n'est pas courtois.  :non:  
 
Tout cela parce que je t'ai aimablement rappelé une règle du forum, utile à l'ensemble des forumeurs, et que tu me réponds en gros "je fais comme je veux" ??? :ouch:
 
C'est très égoïste.  :non:
 

Citation :

 Sur ce forum, on ne donne pas de solutions toutes faites comme tu sembles l'attendre.
 
On peut par contre t'aiguiller ou te conseiller. Par quoi as-tu commencé ? Qu'as-tu déjà fait ? Quel langage de script connais-tu ?


Si tu m'en veux pour ça, hé beh...


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1155243
Deadlock
Feck off, cup !
Posté le 20-07-2005 à 19:09:10  profilanswer
 

/ignore sircam


---------------
Institutions européennes: Ensemble d'outils dont le but est de transformer une grande quantité d'argent en merde. Cette merde est utilisée pour créer de nouveaux fonctionnaires. L'argent restant payant des externes pour faire leur travail.
n°1155254
sircam
I Like Trains
Posté le 20-07-2005 à 19:15:13  profilanswer
 

Deadlock a écrit :

/ignore sircam


Boah, comme tu veux. [:airforceone]
 
Pas la peine de prendre la mouche, hein. [:airforceone]
 
Comme tu es susceptible !


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1155303
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 20-07-2005 à 20:30:31  profilanswer
 

bon, pb résolu, donc je ferme
deadlock >> ça partait surement d'une bonne intention, mais évite à l'avenir stp, comme je te l'ai expliqué en MP


---------------
J'ai un string dans l'array (Paris Hilton)
n°1155949
Marc
Super Administrateur
Chasseur de joce & sly
Posté le 21-07-2005 à 13:10:19  profilanswer
 

sircam a écrit :

Comme tu es susceptible !

Comment ne pas l'être face à une telle lourdeur ?

mood
Publicité
Posté le   profilanswer
 


Aller à :
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  shell et fichier

 

Sujets relatifs
Shell script : redirection synchrone vers un fichier ?Comment zipper un fichier à partir de la fonction Shell
[ Shell] Merge fichiershell script qui lit dans un fichier
[shell]boucle for imbriquée pour recopie de fichier[shell] commande pour lister les fichier executables
[Shell tcsh] [RESOLU] Récupération du path à partir du fichier[shell ou Perl] Parser un fichier et le modifier
Boucler sur les lignes d'un fichier texte (shell UNIX)script shell pour concatener un ensemble de fichier.
Plus de sujets relatifs à : shell et fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR