[Shell] Ecrire dans un fichier pendant l'execution du processus
Résolu/Fermé
A voir également:
- Ecrire dans un fichier shell
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Fichier host - Guide
2 réponses
ryko1820
Messages postés
1677
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
8 avril 2016 à 10:29
8 avril 2016 à 10:29
Hello,
oui tout est possible.
C'est quoi la commande que tu rediriges et qui ne s'écrit pas. Normalement au pire en faisant
oui tout est possible.
C'est quoi la commande que tu rediriges et qui ne s'écrit pas. Normalement au pire en faisant
tail -f /chemin_vers/log_Nametu dois être en mesure de voir un log en cours d'écriture ...
ryko1820
Messages postés
1677
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
Modifié par ryko1820 le 8/04/2016 à 11:04
Modifié par ryko1820 le 8/04/2016 à 11:04
Hello,
Chez moi :
sur une ligne fonctionne ....
You may stop me but you can't stop us all ;-)
Chez moi :
tshark 2>&1 | { while read line;do echo "$line" | grep "Chaine_cherchée";done; }.
sur une ligne fonctionne ....
You may stop me but you can't stop us all ;-)
ryko1820
Messages postés
1677
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
>
Borket
Modifié par ryko1820 le 8/04/2016 à 11:53
Modifié par ryko1820 le 8/04/2016 à 11:53
... et
Pour pouvoir lancer cette ligne dans une console et dans la même console taper :
Pour voir comment le fichier s'écrit ...
Mais chez moi tout marche, même :
Dans un shell script ça donnerait :
(chmod 775 testTshark.sh)
et pour le lancer :
et pour voir comment le log grossit :
et effectivement
le
tshark 2>&1 | { while read line;do echo "$line" | grep "Chaine_cherchée";done; } >> fichier.txt &
Pour pouvoir lancer cette ligne dans une console et dans la même console taper :
tail -f fichier.txt
Pour voir comment le fichier s'écrit ...
Mais chez moi tout marche, même :
tshark | grep "chaine_cherchée"
Dans un shell script ça donnerait :
#!/bin/bash
#
# Script test grep sur tshark (testTshark.sh)
# Appel par 'testTshark.sh chaineRecherché &'
# ou 'testTshark.sh "chaine Recherché" &' si espace dans la chaine recherché
#
tshark 2>&1 | grep "$1" >> testTshark.log
(chmod 775 testTshark.sh)
et pour le lancer :
./testTshark.sh chaine_recherchée &
et pour voir comment le log grossit :
tail -f testTshark.log(CTRL+C pour sortir)
et effectivement
pkill tsharkou
pkill testTshark.shpour arrêter
le
&après le lancement de commande est important car c'est lui qui fait passer le process en background et rends la main pour pouvoir continuer a taper des trucs dans la console ...
8 avril 2016 à 10:34
Pour résumer il s'agit d'une capture de trame avec tshark et un grep pour récupérer uniquement ce qui m'interesse.
Mais le fichier de log reste a 0 octets et ne donne rien jusqu’à que je fasse
Modifié par ryko1820 le 8/04/2016 à 10:51
Plusieurs syntaxe sont possible du "|" au "<<<" jusqu'à une boucle
Pour les trucs récalcitrants ...
Là, sans plus d'info je dirais que ton grep attends les données a filtrer ...