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

Linux Discussion :

Spell Check en bash


Sujet :

Linux

  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant en propriété intellectuelle
    Inscrit en
    Janvier 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Consultant en propriété intellectuelle
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2008
    Messages : 88
    Par défaut Spell Check en bash
    Bonjour,

    Je viens demander un coup de main, en fait, je cherche a faire un ptit script qui recherche dans un fichier si des mots comme "million" ecrit de differente facon sont present.

    si le mot est trouvé dans n'importe qu'elle forme, cela retourne vrai.

    Et là je suis un peu bloquer... Je pensais a un spell check mais en bash je vois pas trop comment faire..

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -i million ton_fichier
    cela affiche toutes les lignes ou million est présent (qu importe la casse)

    retourne 0 si la commande précédente (a savoir grep) a réussi sinon 1


    a toi de faire ton script, ça se fait en 4lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    grep -i million ton_fichier
    check=`echo $?`
    if check==0 then million est la
    else million pas la

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant en propriété intellectuelle
    Inscrit en
    Janvier 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Consultant en propriété intellectuelle
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2008
    Messages : 88
    Par défaut
    ouai j'y ai penser, mais je pensais genre si c'est "milllion" ou "milion" etc

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    ba au pire dans ton grep tu rajoute des pattern, tu mets million milion millon ...


  5. #5
    Membre confirmé
    Homme Profil pro
    Consultant en propriété intellectuelle
    Inscrit en
    Janvier 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Consultant en propriété intellectuelle
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2008
    Messages : 88
    Par défaut
    Citation Envoyé par Ashin Voir le message
    ba au pire dans ton grep tu rajoute des pattern, tu mets million milion millon ...

    Oui, enfin je cherche quelque chose sans pattern .. histoire de prendre en compte toute les possibilités

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    genre si le mec écrit bateau au lieu de million ?

  7. #7
    Membre confirmé
    Homme Profil pro
    Consultant en propriété intellectuelle
    Inscrit en
    Janvier 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Consultant en propriété intellectuelle
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2008
    Messages : 88
    Par défaut
    Citation Envoyé par Ashin Voir le message
    genre si le mec écrit bateau au lieu de million ?


    Ce que tu propose ne marche que pour 1 et 1 seul mot, "Million"
    Je pensais a une utilisation plus générale, c'est a dire a d'autres mots..
    Un peux comme le SQL propose une fonction de spelling check (sorte de sounds like)

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 97
    Par défaut
    Visiblement tu as une idee en tete, quel est cette fonction spelling check ?
    Dans quel version de SQL ( SQL server, Oracle, mysql, postgresql, ....) ?

  9. #9
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Ashin Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    grep -i million ton_fichier
    check=`echo $?`
    if check==0 then million est la
    else million pas la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    grep -i million ton_fichier
    check=$?     # Eviter les backquotes inutiles !!!
    if test $check -eq 0 then million est la
    else million pas la
    fi
    Ou mieux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if grep -i million ton_fichier
    then million est la
    else million pas la
    fi
    Citation Envoyé par Kassar Voir le message
    Je pensais a une utilisation plus générale, c'est a dire a d'autres mots..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for mot in million milion bateau
    do
        if grep -i "$mot" ton_fichier
        then echo "$mot est la"
        else echo "$mot pas la"
        fi
    done
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  10. #10
    Membre confirmé
    Homme Profil pro
    Consultant en propriété intellectuelle
    Inscrit en
    Janvier 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Consultant en propriété intellectuelle
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2008
    Messages : 88
    Par défaut
    je pensais plus a un test avec les possibilitées fournies par ispell ou aspell
    mais je sais pas si c'est possible..

    sinon il reste les expression reguliere..

  11. #11
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    ba utilise aspell si tu l as en français dans ton environnement

  12. #12
    Membre confirmé
    Homme Profil pro
    Consultant en propriété intellectuelle
    Inscrit en
    Janvier 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Consultant en propriété intellectuelle
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2008
    Messages : 88
    Par défaut
    en partant sur une idee deja proposée, j'ai ca, mais le probleme c'est que j'obtiens tjrs qq chose de positif, meme quand ce n'est pas trouvé oO

    Sachant que chaque paragraphe commence par "\nFrom " dans le fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk 'BEGIN{FS="\nFrom "}{if(grep -i 'million*' $1)print  $1" BlaBla"}' file1

  13. #13
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    pourquoi pas ça couplé avec des expressions régulières

    from Sve@r
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if grep -i million ton_fichier
    then million est la
    else million pas la
    fi

  14. #14
    Membre confirmé
    Homme Profil pro
    Consultant en propriété intellectuelle
    Inscrit en
    Janvier 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Consultant en propriété intellectuelle
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2008
    Messages : 88
    Par défaut
    Citation Envoyé par Ashin Voir le message
    pourquoi pas ça couplé avec des expressions régulières

    from Sve@r
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if grep -i million ton_fichier
    then million est la
    else million pas la
    fi
    Je pense que le probleme viens de la partie Awk, mais bon.. je vois pas pourquoi ca traite comme ca.. vu que le "million" n'est pas present dans tout les paragraphes

  15. #15
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    tu fais une recherche dans un fichier ou dans chaque paragraphe d'un fichier

    tu fais un truc dans le genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #!/bin/sh
     
    while read line
    do
     echo $line > ./temp
     if grep "\nFrom" ./temp | grep -i million > /dev/null 
     then echo "million est la"
     fi
    done < ./spell
    rm ./temp

  16. #16
    Membre confirmé
    Homme Profil pro
    Consultant en propriété intellectuelle
    Inscrit en
    Janvier 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Consultant en propriété intellectuelle
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2008
    Messages : 88
    Par défaut
    Citation Envoyé par Ashin Voir le message
    tu fais une recherche dans un fichier ou dans chaque paragraphe d'un fichier

    tu fais un truc dans le genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #!/bin/sh
     
    while read line
    do
     echo $line > ./temp
     if grep "\nFrom" ./temp | grep -i million > /dev/null 
     then echo "million est la"
     fi
    done < ./spell
    rm ./temp
    Merci pour ce code, mais le problème est qu'on m'impose le awk ^^,

  17. #17
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    dsl je n'utilise que sed

  18. #18
    Membre confirmé
    Homme Profil pro
    Consultant en propriété intellectuelle
    Inscrit en
    Janvier 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Consultant en propriété intellectuelle
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2008
    Messages : 88
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk 'BEGIN{RS="\nFrom "; i=0 }{if($0 ~ /million*/) i++ }END{print i}'

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

Discussions similaires

  1. Spell Check & Grammar Keyboard
    Par forum dans le forum Téléchargez
    Réponses: 0
    Dernier message: 22/01/2014, 12h25
  2. Check sur une colonne de table "en cours"
    Par in dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/07/2003, 09h47
  3. checking de connexion
    Par JEG dans le forum Développement
    Réponses: 4
    Dernier message: 09/10/2002, 13h36
  4. [propriétés]Option Checked
    Par psl dans le forum Composants VCL
    Réponses: 6
    Dernier message: 22/08/2002, 08h07
  5. Check Url pour savoir si erreur 404 ou si le site existe
    Par Clément[Delphi] dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/08/2002, 13h49

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