Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications
Applications Questions sur l'utilisation d'applications, du shell, et des interfaces graphiques (KDE, Gnome, XFCE... )
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/06/2007, 10h03   #1
Invité de passage
 
Développeur informatique
Inscription : juin 2007
Messages : 46
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2007
Messages : 46
Points : 1
Points : 1
Envoyer un message via MSN à Info_76 Envoyer un message via Yahoo à Info_76
Par défaut Manipulation de fichiers sous linux

Slt à tous et à toutes, je suis un nouveau membres de ce site, et je dois dire que le peux de temps que j'y ai passé m'a été très bénéfique grâce à toutes vos réponses.
Je suis sur un projet , et je voudrais savoir comment je peux récupérer la dernière ligne de mon fichier.
En effet j'ai un fichier où je stocke des informations comme suite
1 099 26/6/2007 9:42:42
2 105 26/6/2007 10:41:00
3 010 26/6/2007 17:41:42
4 100 26/6/2007 9:41:42

à chaque déclenchement d'évenement je vais l'écrire dans un fichier texte.

4 = au nombre de déclenchement
100 = au numéro de l'évenement
ensuite on a la date et l'heure, il est clair que les informations vont être écrite au fur et à mesure dans mon fichier et à chaque fois sur une nouvelle ligne car j'utilise un retour chariot.

Ma question est comment pourrais-je faire pour récupérer la dernière ligne écrite de mon fichier et la mettre dans un tableau d'entier je m'explique
en considérant l'exemple donné précédemment

tableau[0]=4;
tableau[1]=espace ;
tableau[2]=1;
tableau[3]=0;
tableau[4]=0;
tableau[5]=espace;
tableau[6]=2;
tableau[7]=6;
tableau[8]=/;
tableau[9]=6;
tableau[10]=/;
tableau[11]=2;
tableau[12]=0;
tableau[13]=0;
tableau[14]=7;
tableau[15]=espace;
tableau[16]=9;
tableau[17]=:;
tableau[18]=4;
tableau[19]=1;
tableau[20]=:;
tableau[21]=4;
tableau[22]=2;

Les caractères "espace" et ":" je saurais comment les gérer, je programme en java ou en c.
Merci à tous
Info_76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 10h18   #2
Modérateur
 
Avatar de ggnore
 
Inscription : juillet 2004
Messages : 2 246
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : juillet 2004
Messages : 2 246
Points : 1 903
Points : 1 903
Code :
1
2
3
4
5
6
7
:~/shelltest $ cat bla 
1321321
1231.123
1231321
1321321
:~/shelltest $ cat bla | tail -1
1321321
tail pour récupérer la dernière ligne

Code :
1
2
3
4
5
6
7
8
:~ $ echo "4 100 26/6/2007 9:41:42" | cut -d' ' -f1
4
:~ $ echo "4 100 26/6/2007 9:41:42" | cut -d' ' -f2
100
:~ $ echo "4 100 26/6/2007 9:41:42" | cut -d' ' -f3
26/6/2007
:~ $ echo "4 100 26/6/2007 9:41:42" | cut -d' ' -f4
9:41:42
cut pour délimiter les champs.

J'espère que ça répond un peu à tes attentes.
__________________
Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
ggnore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 10h53   #3
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 102
Points : 1 102
Juste un truc, c'est pas un tableau d'entier, la, hein
C'est un tableau de char a la limite.
__________________
C'est le signe d'un fou, qu'avoir honte d'apprendre
Ubuntu 10.04 Lucid Lynx @home
LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 13h52   #4
Membre éclairé
 
Avatar de herzleid
 
Inscription : juin 2002
Messages : 376
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : juin 2002
Messages : 376
Points : 388
Points : 388
Pour récupérer les champs moi je conseille plutot awk, qui permet de récupérer les champs, sans tenir compte de leure taille.

exemple pour afficher que le 2ème champ, si le séparateur de champ est un espace :
Code :
cat bla|awk '{print $2}'
$1 = premier champ
$2 = deuxième etc..

Tu peux afficher le plusieurs champs : '{print $1 $3}'

man awk pour plus d'info sur cette magnifique commande.
__________________
www.kywyxy.net
herzleid est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h33.


 
 
 
 
Partenaires

Hébergement Web