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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  analyser un fichier texte pour initialiser des variables

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

analyser un fichier texte pour initialiser des variables

n°1110615
damcmoi
Posté le 07-06-2005 à 10:11:13  profilanswer
 

Bonjour, je suis débutant en shell script,
j'aimerai pouvoir analiser chaque ligne d'un fichier obtenu avec "ls --full-time" afin d'initialiser des variables :  
exemple fichier :  
total 31650
-rwx------+ 1 Dam Aucun 12219374 2004-12-25 17:44:52.000000000 +0100 01 - Luigi Circuit - 3L - 1'16''957 - joueur1.wmv
-rwx------+ 1 Dam Aucun  5421060 2004-12-25 17:43:30.000000000 +0100 02 - Peach Beach - 3L - 1'09''005 - joueur2.mpeg
-rwx------+ 1 Dam Aucun 11435636 2004-12-25 17:44:36.000000000 +0100 04 - Dry Dry Desert - 3L - 1'32''688 - joueur3.wmv
 
pour chaque ligne j'amerais initialiser les variables: date, circuit et nom
exemple 1 ligne1: date=2004-12-25 ; circuit=Luigi Circuit ; nom=joueur1
puis écrire ces variables dans un autre fichier ET passer à la ligne suivante et ainsi de suite.
je ne sais pas comment faire.
Je vous remercie de votre aide.

mood
Publicité
Posté le 07-06-2005 à 10:11:13  profilanswer
 

n°1111057
Deadlock
Feck off, cup !
Posté le 07-06-2005 à 14:06:47  profilanswer
 

Je n'ai "que" Solaris sous la main et pas le temps de faire qque chose de "propre" ;)
Celà ne fonctionne pas avec AWK mais avec NAWK sous Solaris, peut être que le AWK de ta distrib est plus évolué que celui de Solaris ...
 

ls --full-time | nawk '{ split($0,Trunc," - " ) ; split(Trunc[5],Trunc2,"." ) ; print "date="$6" ; circuit="Trunc[2]" ; joueur="Trunc2[1] }' >> monfichier.txt


 
EDIT: Peut être aussi avec GNU AWK ...


Message édité par Deadlock le 07-06-2005 à 14:08:26

---------------
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°1111097
damcmoi
Posté le 07-06-2005 à 14:23:46  profilanswer
 

Merci c'est syper sympa. Seul pb, je travaille sous winXP/cygwin/bash et n'ai que les classiques awk(3.1.4), tr(5.2.1), sed(4.1.3), cut(5.2.1)...
Mais au moins tu m'apportes une solution :) . Je vais essayer de voir si je peux installer un nawk sous cygwin.;)
En fait au final je crée un fichier sql pour une bdd, afin de pouvoir faire des tris selon ces différents champs...
Encore Merci.  
Si quelqu'un a une autre idée, je suis tout prêt à la travailler...

n°1111219
Deadlock
Feck off, cup !
Posté le 07-06-2005 à 15:11:20  profilanswer
 

Ca marche sous Cygwin sur mon PC en utilisant GAWK:
 

$ cat text
-rwx------+ 1 Dam Aucun 12219374 2004-12-25 17:44:52.000000000 +0100 01 - Luigi Circuit - 3L - 1'16''957 - joueur1.wmv
-rwx------+ 1 Dam Aucun  5421060 2004-12-25 17:43:30.000000000 +0100 02 - Peach Beach - 3L - 1'09''005 - joueur2.mpeg
-rwx------+ 1 Dam Aucun 11435636 2004-12-25 17:44:36.000000000 +0100 04 - Dry Dry Desert - 3L - 1'32''688 - joueur3.wmv
se482@pc15037 /cygdrive/d/temp
$ cat text | gawk '{ split($0,Trunc," - " ) ; split(Trunc[5],Trunc2,"." ) ; print "date="$6" ; circuit="Trunc[2]" ; joueur="Trunc2[1] }' >> monfichier.txt
 
se482@pc15037 /cygdrive/d/temp
$ cat monfichier.txt
date=2004-12-25 ; circuit=Luigi Circuit ; joueur=joueur1
date=2004-12-25 ; circuit=Peach Beach ; joueur=joueur2
date=2004-12-25 ; circuit=Dry Dry Desert ; joueur=joueur3
 
se482@pc15037 /cygdrive/d/temp
$ which gawk
/usr/bin/gawk
 
se482@pc15037 /cygdrive/d/temp


---------------
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°1111362
damcmoi
Posté le 07-06-2005 à 16:03:26  profilanswer
 

Mille remerciements, pardonne moi je ne savais pas que gawk et nawk étaient similaires, je ne les ai jamais utilisés. J'ai bien gawk sous mon cygwin :). Merci encore :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  analyser un fichier texte pour initialiser des variables

 

Sujets relatifs
Modifier Fichier Folder.htt pour empecher la copieCréer un nouveau fichier à partir d'un fichier uploadé
Insertion d'une requête dans une zone de textesuppression d'une ligne d'un fichier en vba
Taille du texte dans document wordPasser un tableau a un autre fichier
lecture d'un fichier par block de caracteres[DTD] Peut on utiliser deux dtds pour un seul fichier ?
Lien texte en fondu en JSTraitement d'image, extraction de texte dans une image
Plus de sujets relatifs à : analyser un fichier texte pour initialiser des variables


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