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 :

Renvoyer la chaine qui revient le plus souvent


Sujet :

Linux

  1. #1
    Membre régulier Avatar de yoshï
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 206
    Points : 88
    Points
    88
    Par défaut Renvoyer la chaine qui revient le plus souvent
    Si j'ai une liste séparé par des espaces
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Humour Humour Humour Genre
    existe t'il une commande à laquelle on passe un caractère séparateur
    et qui nous renvoie la chaine qui revient le plus souvent (ici Humour si on spécifie " " comme caractère séparateur)

    ou suis je obliger pour chaque mot de compter le nombre d'occurence et de comparer à la fin
    Merci pour votre aide

  2. #2
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut Re: [SHELL]Renvoyer la chaine qui revient le plus souvent
    Citation Envoyé par yoshï
    Si j'ai une liste séparé par des espaces
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Humour Humour Humour Genre
    existe t'il une commande à laquelle on passe un caractère séparateur
    et qui nous renvoie la chaine qui revient le plus souvent (ici Humour si on spécifie " " comme caractère séparateur)

    ou suis je obliger pour chaque mot de compter le nombre d'occurence et de comparer à la fin
    Merci pour votre aide
    Une commande, je ne sais pas, mais un ensemble de commandes, c'est sûr !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "humour humour humour genre" | sed "s/ /\n/g" | sort | uniq -c | sort -n -r

  3. #3
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    salut,
    moi aussi j'ai une solution mais bon c'est beaucoup moins performant mais je la trouvais marrante alors je la poste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #!/bin/bash
     
    tmpdir=$(mktemp -d)
    result=$(mktemp)
    mots="aaa bbb ccc ddd eee ffff bbb ccc ddd bbb ccc ggg"
    for i in $mots ; do
    	echo $i >> "${tmpdir}/${i}"
    done
    echo "répertoire : $tmpdir"
     
    for i in $tmpdir/* ; do
    	n=$(cat $i|wc -l)
    	bn=$(basename $i)
    	echo "$n / $bn" >> $result
    	#echo "=>$i"
    done
    sort -n $result

  4. #4
    Membre régulier Avatar de yoshï
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 206
    Points : 88
    Points
    88
    Par défaut
    je rajouterai juste 2 commandes à ta ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "humour humour humour genre" | sed "s/ /\n/g" | sort | uniq -c | sort -n -r | cut -f 2 -d "	" | head -n 1 )
    pour renvoyer juste la chaine qui apparait le plus de fois
    merci beaucoup
    pour tes precieux conseils

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/09/2013, 15h24
  2. Réponses: 1
    Dernier message: 22/11/2011, 09h37
  3. Réponses: 5
    Dernier message: 21/09/2011, 11h43
  4. Requête qui renvoie les valeurs les plus souvent affichés
    Par athos7776 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 25/07/2007, 17h54
  5. Retourner la valeur d'une liste qui se retrouve le plus souvent
    Par Difool dans le forum Général Python
    Réponses: 6
    Dernier message: 02/07/2006, 13h18

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