analyser un fichier texte pour initialiser des variables - Shell/Batch - Programmation
Marsh Posté le 07-06-2005 à 14:06:47
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 ...
Marsh Posté le 07-06-2005 à 14:23:46
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...
Marsh Posté le 07-06-2005 à 15:11:20
Ca marche sous Cygwin sur mon PC en utilisant GAWK:
$ cat text |
Marsh Posté le 07-06-2005 à 16:03:26
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
Marsh Posté le 07-06-2005 à 10:11:13
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.