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 :

Découper une phrase


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2017
    Messages : 3
    Par défaut Découper une phrase
    Bonsoir, je suis en train de créer un script qui devra lire mot par mot un fichier mis en parametre dans le but de corriger son coding style cependant je suis arrêté sur un probleme qui ne devrait pas être tres compliqué..

    j'ai une fonction qui recois une ligne et j'aimerais découper cette ligne mot par mot pour ensuite traiter justement ces mots là un par un mais je pense qu'il doit y avoir une commande systeme me permettant de faire ceci cependant je ne la trouve pas..

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 673
    Par défaut
    Bonjour,

    lire mot par mot un fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i in $(<fichier); do echo "$i"; done
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $ ligne="bla1 bla2 bla3"
    $ splitLine()
    {
       for i do echo "$i"; done
    }
    splitLine $ligne #sans guillemets !
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2017
    Messages : 3
    Par défaut probleme
    je vous remercie de m'avoir aidé cependant, ca souleve un autre probleme j'aimerais qu'il m'affiche non pas la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    line = "bla1, bla2, bla3"
    pour le moment la sortie ressemble a ca :
    cependant comment je pourrais faire comme ceci : "bla1, bla2, bla3" car je veux analysé chaque mot de la phrase mais pas modifie le positionnement de la phrase..
    j'aimerais qu'a chaque tour de boucle ma valeur qui prendra le mot soit au premier tour bla1, au deuxieme bla2, ...
    je ne vois pas comment faire

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 673
    Par défaut
    la ligne n'est pas modifiée.
    la fonction boucle sur chaque mot de la ligne sans la modifier.
    dans l'exemple, la fonction affiche chaque mot, mais elle n'y est pas obligée, tu peux lui faire faire ce que tu veux...
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Par défaut
    Salut, c'est ça que tu veux ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i in $(<fichier); do echo -n "$i "; done

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2017
    Messages : 3
    Par défaut
    voici mes deux fonctions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    lineToWords()
    {
        for i do echo "$i"; done
    }
    readLine()
    {
        while read line
        do
            echo "$line"
            lineToWords $line
        done < test1.sh
     
    }
    j'aimerais par exemple si la phrase contient "fonction blabla() {instruction}"
    faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fonction blabla
    {
              instructions
    }
    mais la le soucis c'est que même si je change mot par mot rien ne changera car la phrase sera echo et ensuite modifier.. alors que je voudrais faire l'inverse.

Discussions similaires

  1. Découper les mots dans une phrase
    Par selmastar dans le forum Débuter
    Réponses: 2
    Dernier message: 28/03/2013, 07h58
  2. Découper une phrase
    Par hidewak dans le forum Langage
    Réponses: 5
    Dernier message: 19/07/2011, 16h31
  3. Découper une phrase en mot
    Par punisher999 dans le forum Général Java
    Réponses: 17
    Dernier message: 26/03/2010, 09h14
  4. [Tableaux] Découper une phrase en mots
    Par cmoiscrat dans le forum Langage
    Réponses: 5
    Dernier message: 14/02/2006, 13h29
  5. [Débutant][Token] découper une chaine
    Par _Eric_ dans le forum Langage
    Réponses: 14
    Dernier message: 06/07/2004, 10h36

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