Script shell remplacer dernier char par point

Bonjour,

je travail ma maitrises de l'interpreteur de commandes
et j'ai donc chercher dans un fichier diverses infos que je separe par ", " (virgule - espace)
mais pour le dernier element trouver je voudrai obtenir au lieu de ", " un point.
auriez vous des pistes pour m'aider?

je presume qu'il faut utiliser la commande sed et peu etre replace mais je suis dans le brouillard...

pour info ma commande ==>
cat nom_de_fichier | sed '1~2d' | cut -d: -f1 | rev | sort -r | sed -n ''$MY_LINE1','$MY_LINE2''p | tr '\n' ',' | replace ',' ', '

merci

3 réponses

  1. Contributeur
    Salut,

    On peut avoir une idée de la tronche de ton fichier AVANT puis APRÈS s'il te plaît ?
    J'ai l'impression que tu t'embêtes et compliques un peu...

    ;-)
    1. c'est pas vraiment une question de fichier
      c'est juste pour le formatage des infos
      la ligne de commandes est tres alambiquee c'est vrai
      mais c'est un embriquement d'exercices donc y faites pas attention

      la sortie donne juste

      <prompt> cmd
      info, info, info, info, info, <prompt>

      et donc le dernier ", " a remplacer
      1. j'ai trouve
        c'est moche mais ca marche

        j'ajoute a ma cmd precedente :
        sed -e 's/.*/&%/' | replace ", %" "."

        le sed ajoute le caractere "%" a la fin de ma cmd et donc je peut faire un replace sur ", %" par "."

        merci quand meme
        1. Contributeur
          $ echo "$A"
          cmd
          info, info, info, info, info,
          
          $ echo "$A" | sed 's/,$/./'
          cmd
          info, info, info, info, info.
          
          $

          ;-))