Partage
  • Partager sur Facebook
  • Partager sur Twitter

Commande tr

    11 décembre 2021 à 21:01:10

    Bonsoir à tous,

    Voila mon problème:

    J'ai un fichier comportant un mot et pour chaque lettre du mot je dois le décaler de 13  (décalage de César)

    Exemple :

    b devient -> o (decalage 13 par rapport à la lettre)

    l devient -> y

    Pour cela je dois utiliser la commande tr mais je ne sais quel comment procéder.

    Je souhaiterais seulement des indices.

    Je sais pas si mon probléme a été bien exposer.

    MErci d'avance. IB

    • Partager sur Facebook
    • Partager sur Twitter
      12 décembre 2021 à 2:51:55

      Tu fais:
      tr 'abcdefghijklmnopqrstuvwxyz' 'nopqrstuvwxyzabcdefghijklm' < fichier_entree > fichier_sortie
      Pour le faire, j'ai appelé Python:
      >>> s1='abcdefghijklmnopqrstuvwxyz';s1                                                                                  
      'abcdefghijklmnopqrstuvwxyz'                                                                                            
      >>> s2=s1[13:]+s1[:13];s2                                                                                               
      'nopqrstuvwxyzabcdefghijklm'

      On peut aussi utiliser sed:

      echo abcdefghijklmnopqrstuvwxyz | sed -E "s/(.{13})(.{13})/\2\1/"             
      nopqrstuvwxyzabcdefghijklm                                                                                              

      Je le montre pour illustrer des trucs visant à réduire les erreurs.

      -
      Edité par PierrotLeFou 12 décembre 2021 à 3:08:41

      • Partager sur Facebook
      • Partager sur Twitter

      Le Tout est souvent plus grand que la somme de ses parties.

        12 décembre 2021 à 10:50:24

        Bonjour,

        Ou plus simplement avec les séquences de caractère que tr sait interpréter:

        echo "abcdefgh" | tr "[:lower:]" "n-za-m"



        • Partager sur Facebook
        • Partager sur Twitter

        Commande tr

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown