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

C Discussion :

[Demande Piste] Double redirection en lecture


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 85
    Par défaut [Demande Piste] Double redirection en lecture
    Bonjour,

    J'essaye d'effectuer une double redirection en lecture cependant je galère pas mal ...
    Exemple :
    wc << END
    Je tape
    du texte
    END (marque la fin de fichier)
    Résultat =>2 4 17

    A noté que toutes mes redirection fonctionne parfaitement, >, >>, <.
    Pour la double passez-vous par des pipes ?

    Merci pour vos conseils.

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    c'est quoi, une "double redirection en lecture"? une heredoc?

  3. #3
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Dans ton exemple avec "wc", c'est simplement de l'information transmise sur l'entrée standard de la commande.
    La gestion de la chaîne "END" est entièrement à la charge du shell et n'est jamais vue par la commande "wc".
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 85
    Par défaut
    Bonjour,

    c'est quoi, une "double redirection en lecture"? une heredoc?
    Oui.

    Dans ton exemple avec "wc", c'est simplement de l'information transmise sur l'entrée standard de la commande.
    La gestion de la chaîne "END" est entièrement à la charge du shell et n'est jamais vue par la commande "wc".
    Je comprend bien la chose, cependant c'est moi qui dois transmettre faire en sorte que les données soient transmise à la commande wc. Ma question est donc, comment transmet tu l'information sur l'entrée standard ?

    Mon approche est la suivante :
    Je fork, le père lit les informations transmises sur l'entrée standard, chaque lignes lu est écrite dans le tube (jusqu'a la "fin de fichier" marquer par l'envoi du mot clé choisis lors de la commande, "END" dans l'exemple précédent).
    Le fils quand à lui redirige l'entrée standard vers le tube afin que les données écrite dans le tube soit lu par wc (qui lit par défaut son entrée standard).

    Qu'en pensez-vous ?

  5. #5
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    cette redirection "here doc" est en fait un remplissage "en place" de l'entrée standard.
    Ca marche exactement comme si tu faisais un "echo truc| wc", sauf pour des considérations d'échappement.

    C'est une considération du shell. Pas de wc, qui ne vois qu'un "std::cin"

    Tu peux utiliser un fichier intermédiaire, un pipe (ce qui reviens au même).

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 85
    Par défaut Une idée ?
    Bonjour,

    Merci, ça fonctionne parfaitement

    J'ai une dernière question au cas ou que tu arrives à ciblé le "problème". Je m'attaque à la redirection avec fichier multiples (concernant toujours l'entrée standard). Cependant il y a un comportement que je ne trouve pas logique, peux-tu me dire ce que tu en penses ?
    Je créer 3 fichiers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo "Bonjour developpez.com" > file1
    echo "Au revoir developpez.com " > file2
    echo "Bonne nuit developpez.com" > file3
    J'effectue la redirection dont je te parle plus haut :
    Résultat obtenu :
    1 3 26 file2
    1 3 26 file3
    2 6 52 total

    1. Pourquoi file1 n'apparait pas ? (ces toujours le premier fichier qui n'apparait pas).
    2. Comment le total est calculer ? De mon coté, il n'y a pas de ligne total...


    J'attire sur ton attention que tout cela est testé dans un shell C à savoir tcsh. Quoi qu'il en soit merci car le problème initial est résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Shell double redirection
    Par Sango64 dans le forum Unix
    Réponses: 4
    Dernier message: 21/11/2011, 09h37
  2. Réponses: 0
    Dernier message: 09/10/2008, 14h45
  3. [VB.NET]Double redirection.
    Par CammCamm dans le forum ASP.NET
    Réponses: 9
    Dernier message: 24/11/2003, 15h11

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