Bash filtrer le résulat d'une commande puis la stopper
Résolu/Fermé
A voir également:
- Bash filtrer le résulat d'une commande puis la stopper
- Invite de commande - Guide
- Commande terminal mac - Guide
- Le fichier contient un tableau présentant un extrait des livres les plus prêtés à paris en 2016. filtrez le tableau pour ne faire apparaître que les bandes dessinées ado. puis filtrez le tableau pour ne faire apparaître que celles dont l'auteur est zep. quel est le titre de la bande dessinée ado de zep qui a été la plus prêtée d'après ce tableau ? ✓ - Forum Windows 10
- Retour à la ligne bash ✓ - Forum Shell
- Minimal bash-like line editing is supported ✓ - Forum Linux / Unix
7 réponses
Utilisateur anonyme
20 oct. 2016 à 17:45
20 oct. 2016 à 17:45
salut,
mais quel est l'intérêt de lancer plusieurs xterm ?
les commandes lancées en "arrière-plan" ont leur PID placé, immédiatement après leur lancement, dans une variable
mais quel est l'intérêt de lancer plusieurs xterm ?
les commandes lancées en "arrière-plan" ont leur PID placé, immédiatement après leur lancement, dans une variable
?!.
Le xterm c'est pour du multi tache sans avoir trop a m'encombrer l'écran :)
D'accord mais du coup comment lire ce que renvoie xterm numéro 1 dans la console ? ("résultat réussie")
Autrement si j'ai bien compris, une fois que xterm 1 m'aura envoyé ce que je veux (résultat réussi), je récupère le pid de xterm 2 pour le stopper c'est bien sa ?
D'accord mais du coup comment lire ce que renvoie xterm numéro 1 dans la console ? ("résultat réussie")
Autrement si j'ai bien compris, une fois que xterm 1 m'aura envoyé ce que je veux (résultat réussi), je récupère le pid de xterm 2 pour le stopper c'est bien sa ?
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
21 oct. 2016 à 11:31
21 oct. 2016 à 11:31
hello
quelque chose comme ça ?
quelque chose comme ça ?
xterm -T xterm2 -e 'echo on attend; read a' & pid=$!
xterm -T xterm1 -e "sleep 12; echo resultat | grep -q resultat && kill $pid; sleep 8"
Oui c'est quelque chose comme ça :) je teste sa dès que je peux et je fais un retour.
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
21 oct. 2016 à 13:29
21 oct. 2016 à 13:29
essayer
xterm -T xterm2 -e 'echo on attend; read a' & pid=$! ; xterm -T xterm1 -e "(sleep 12; echo resultat | grep -q resultat && kill $pid)& $SHELL" &
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon je crois que j'ai trouvé plus simple de faire avec un fichier que de faire avec xterm, mais j'ai encore quelques soucis...
En faite voila en gros ce que je veux faire, on a un fichier résultat.txt qui reste vide et tant qu'il reste vide con continu notre commande lancée précédemment.
Dès que le fichier se rempli, on stoppe la commande lancée précédemment.J'ai testé pgrep pour ça et ça marche nickel, par contre si j'utilise:
Il détecte bien que mon fichier et vide quand c'est le cas mais si il je le rempli entre temps et que j'enregistre, la commande lancée précédemment ne se stoppe pas... Que dois-je utiliser pour vérifier intéractivement quand mon fichier contient quelque chose ? until peut-etre ?
Merci a vous.
En faite voila en gros ce que je veux faire, on a un fichier résultat.txt qui reste vide et tant qu'il reste vide con continu notre commande lancée précédemment.
Dès que le fichier se rempli, on stoppe la commande lancée précédemment.J'ai testé pgrep pour ça et ça marche nickel, par contre si j'utilise:
if test -s resultat.txt
Il détecte bien que mon fichier et vide quand c'est le cas mais si il je le rempli entre temps et que j'enregistre, la commande lancée précédemment ne se stoppe pas... Que dois-je utiliser pour vérifier intéractivement quand mon fichier contient quelque chose ? until peut-etre ?
Merci a vous.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 407
31 oct. 2016 à 19:50
31 oct. 2016 à 19:50
Salut,
whileplutôt ;-)
Donc je dois faire un truc du genre:
Je suppose ?
Mais dans ce cas la commande ne va pas s'arréter meme si le fichier résultat.txt se rempli non ?
(je suis pas sur mon ordi de travail je peux pas vraiment tester)
while
test -s résutat.txt
do <macommande> done
Je suppose ?
Mais dans ce cas la commande ne va pas s'arréter meme si le fichier résultat.txt se rempli non ?
(je suis pas sur mon ordi de travail je peux pas vraiment tester)
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 407
31 oct. 2016 à 23:38
31 oct. 2016 à 23:38
En fait c'est soit :
while test ! -s résultat.txt; do …ou
until test -s résultat.txt; do …;-)