• [^] # Mes soluces sans perl ni awk, juste des commandes shell de base en pipe

    Posté par . En réponse au message Recherche commande. Évalué à 1. Dernière modification le 26 décembre 2022 à 11:40.

    $ bash soluce1 < f
    3
    $ wc soluce*
     1 5 38 soluce1
     1 8 35 soluce2
     1 5 33 soluce3
     1 5 29 soluce4
     1 7 29 soluce5
     5 30 164 total
    $ grep ^ soluce*
    soluce1:sed -e 's:[^+-]::g'|uniq|grep +|wc -l
    soluce2:cut -d ' ' -f 3|uniq|grep +|wc -l 
    soluce3:sed 's:.* ::'|uniq|grep +|wc -l 
    soluce4:cut -b 12|uniq|grep +|wc -l 
    soluce5:tr -cd [+\\-]|tr - ' '|wc -w
    

    Les solutions 1 à 4 utilise l'enchainement "uniq|grep +|wc -l" pour nettoyer les séries de +, ne garder qu'eux, enfin compter le nombre de lignes. Les commandes d'introduction implémentent différentes hypothèses de substitution de caractères pour ne garder que les + et -.

    Soluce5 est différente et se base sur la commande "tr". Pour la sortie de cette commande il faut compter les mots avec wc : on zappe "uniq" et "grep +". Là j'atteins mes limites et je ne sais pas s'il y a moyen de faire plus court.

    Joyeux Noël !!