IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

[BASH] Affichage et écriture dans un fichier


Sujet :

Shell et commandes GNU

  1. #1
    Membre émérite
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Points : 2 677
    Points
    2 677
    Par défaut [BASH] Affichage et écriture dans un fichier
    Bonjour à tous !

    L'affichage en ligne de commande je sais faire.
    Rediriger ce flux dans un fichier (=écriture dans un fichier) je sais faire.

    Par contre faire les 2 en même temps (=créer un log de ce qui s'affiche en ligne de commande) là je bute légèrement

    Je pense sincérement que ça ne doit pas être bien compliqué et qu'un utilisateur expérimenté de Bash me livrera la réponse sous peu

    Merci d'avance

  2. #2
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    Citation Envoyé par TheGzD
    Par contre faire les 2 en même temps (=créer un log de ce qui s'affiche en ligne de commande) là je bute légèrement

    http://man.developpez.com/man1/tee.1.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    # crée ou écrase le fichier ficlog
    echo "* blabla" | tee ficlog
     
    # mode "append"
    echo "* blabla suite" | tee -a ficlog

  3. #3
    Membre émérite
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Points : 2 677
    Points
    2 677
    Par défaut
    Merci pour ta réponse.

    Cependant ca ne résoud que partiellement mon problème
    Je vais te détailler un peu plus ce que je veux faire pour que ce soit plus clair.
    J'ai une application compilée (qu'on appelera "appli") qui affiche et demande les choses suivantes :

    [bloc de texte 1]
    [choix 1] ?
    [bloc de texte 2]
    [choix 2] ?
    [bloc de resultat]

    en utilisant la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./rep_de_l_appli/appli | tee ficlog
    il demande les choix avant les blocs de texte oO, ce qui affiche :

    [choix 1] ?
    [bloc de texte 1]
    [choix 2] ?
    [bloc de texte 2]
    [bloc de resultat]

    ça n'est pas satisfaisant :s de plus dans le log les choix saisis n'apparaissent pas non plus ... J'ai essayé avec l'option -i mais ça ne change rien : que faire ? est-ce que je l'utilise mal ? existe-t-il d'autres fonctions du même type ?

    Merci d'avance.

  4. #4
    Membre émérite
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Points : 2 677
    Points
    2 677
    Par défaut
    Personne n'a la moindre idée pour faire ceci ?

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2002
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 168
    Points : 110
    Points
    110
    Par défaut
    Citation Envoyé par TheGzD
    Personne n'a la moindre idée pour faire ceci ?
    Bonjour,

    j'ai pas tout compris, tu peux détaillé avec un exemple.

    echo "blablabla" > draft.txt | cat draft.txt

    Cordialement,

    Turbo_chess

  6. #6
    Membre émérite
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Points : 2 677
    Points
    2 677
    Par défaut
    J'utilise un exécutable qu'on apellera exec. Lorsqu'il s'exécute il dialogue avec l'utilisateur de la façon suivante :
    "Rentrez la valeur :
    ?
    Rentrez la deuxieme valeur:
    ?
    Affichage des resultats ..." (où les ? représentent l'attente d'une entrée de l'utilisateur par le système)

    SI j'exécute la commande "exec | tee resultats.txt" j'obtiens l'affichage suivant :
    "?
    Rentrez la valeur :
    ?
    Rentrez la deuxieme valeur:
    Affichage des resultats ..." (il attend les valeurs avant d'afficher le texte qu'il est sensé afficher avant)

    Je ne peux pas expliquer mieux, car on ne peut pas faire plus clair je crois

  7. #7
    Membre émérite
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Points : 2 677
    Points
    2 677
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     echo "blablabla" > draft.txt | cat draft.txt
    écrit bien dans un fichier, mais ne m'affiche rien :s

  8. #8
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    Citation Envoyé par TheGzD
    J'utilise un exécutable qu'on apellera exec. Lorsqu'il s'exécute il dialogue avec l'utilisateur de la façon suivante :
    (
    Si ce n'est pas trop indiscret, le code de ton programme est-il du "C".
    Quelles fonctions d'affichage et de lecture utilises-tu

  9. #9
    Membre émérite
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Points : 2 677
    Points
    2 677
    Par défaut
    En effet il est en C, mais pas dans un C courant. Le programme est en f2c (portable de fortran vers C), ce qui le rend particulierement incompréhensible et impossible à modifier.

    La fonction d'écriture est do_lio(p1,p2,p3,p4) (4 paramètres).

  10. #10
    Membre émérite
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Points : 2 677
    Points
    2 677
    Par défaut
    Je me permets de faire remonter mon vieux sujet pour voir si cette fois quelqu'un saurait comment rediriger le retour d'un programme à la fois à l'écran et dans un fichier.

    Merci d'avance

  11. #11
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Salut,


  12. #12
    Membre émérite
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Points : 2 677
    Points
    2 677
    Par défaut
    J'avais déjà testé ça ne marchait pas exactement comme souhaité (voir mon post un peu plus haut).
    Après c'est peut-être la seule solution valable, mais je bossais avec un programme moisi ...

  13. #13
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 262
    Points
    12 262
    Par défaut
    suffit je pense de faire plutôt


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    [...]
    (
    # code
    # code
    # code
    ) | tee fichier
    [...]
    comme ça même la saisie utilisateur est prise en compte

  14. #14
    Membre émérite
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Points : 2 677
    Points
    2 677
    Par défaut
    Le code est dans un exécutable compilé donc je ne suis pas sûr que ta solution soit applicable, ou alors je n'ai pas compris ce que tu voulais dire

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/04/2015, 10h35
  2. Réponses: 7
    Dernier message: 05/05/2010, 12h40
  3. Problème d'écriture dans un fichier xml
    Par vanoou dans le forum C++Builder
    Réponses: 1
    Dernier message: 13/07/2005, 03h28
  4. Passer à la ligne lors de l'écriture dans un fichier
    Par hams dans le forum Assembleur
    Réponses: 4
    Dernier message: 17/04/2005, 20h25
  5. [JUnit] Junit écriture dans un fichier
    Par mikael35 dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 10/08/2004, 14h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo