Rechercher : dans
Par :

Lecture d'un fichier en temps réel

Dernière réponse le 17 oct 2007 à 12:17:58 Alteo, le 16 oct 2007 à 19:15:54 
 Signaler ce message aux modérateurs

Bonjour,
J'aimerais écrire en Shell un petit script pour récupérer le contenu d'un fichier. Attention, détail ultime : il s'agit de le faire en temps réel.
Autrement dit, le script, une fois lancé, lit le fichier, récupère son contenu dans un autre fichier, et quand il arrive à la fin du fichier lu, il attends de voir si d'autres lignes ne sont pas ajoutées, et si tel est le cas, il les lit et les ajoute à son fichier de sortie.
La fin du script se déclenche par Ctrl-C.
L'ennui, c'est que je suis loin d'être un expert en Shell Unix... :(
Quelqu'un pour m'aider ?
Je suis sous HP PA-RISC.
Merci infiniment !!

Configuration: HP PA-RISC

Meilleures réponses pour « Lecture d'un fichier en temps réel » dans :
Voir les connexions en temps réel Voir Sous Linux Sous Windows A voir également Sous Linux Pour voir en temps réel vos connexions réseaux sortantes et ports ouverts, tapez dans un terminal : sudo watch lsof -i Vous pouvez voir : Le nom du programme qui effectue cette...
[Linux] Trafic entrant / sortant en temps réel VoirPour pouvoir connaître la bande passante utilisée par votre machine Linux, outre les outils standards de la plupart des distributions (ne permettant pas l'affichage en temps réel), il existe deux outils particulièrement utiles : IpTraf :...
Fichier TMP VoirFormat TMP Un fichier TMP est un fichier temporaire, c'est-à-dire un fichier créé temporairement par une application. La plupart du temps ces fichiers peuvent être supprimés sans risque, mais cela dépend de l'application qui l'a créé. Dans le...

1

akira, le 17 oct 2007 à 11:58:27

Bonjour,

Pour le faire en shell voila comment je ferais ( c'est peut etre pas exact mais ca peut ouvrir des pistes...)

-lecture du fichier jusqu'a la fin + recopie
-fermeture du fichier
faire une boucle "tant que" en faisant un "diff" entre le fichier sauvegarde et le fichier à lire
si il y a un resulat dans le diff alors on le met de le fichier de sauvegarde.
Et on recommence...

Une autre solution serait difficile à mettre en oeuvre car la ressource est dupliquée en cas d'accès concurentiel.

De plus, j'ajouterais que le temps réel est souvent mal employé, car on définit un systeme temps réel comme étant un système dans lequel l'information, après acquisition et traitement, reste pertinente. Donc rien à voir dans ce cas.


en esperant avoir éclairé une lanterne,

Cordialement,

:)

Répondre à akira

3

 dubcek, le 17 oct 2007 à 12:17:58
  • +1

La commande tail -f est faite pour ça

-f Follow option. If the input file is a regular
file or if file specifies a FIFO, do not terminate
after the last line of the input file has been
copied, but read and copy further bytes from the
input file when they become available (tail enters
an endless loop wherein it sleeps for one second
then attempts to read and copy further records
from the input file). This is useful when
monitoring text being written to a file by another
process. If no file argument is specified and the
input is a pipe (FIFO), the -f option is ignored.

Répondre à dubcek