Script shell remplacer dernier char par point

hardshell -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
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. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    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...

    ;-)
    0
  2. hardshell
     
    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
    0
  3. hardshell
     
    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
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      $ echo "$A"
      cmd
      info, info, info, info, info,
      
      $ echo "$A" | sed 's/,$/./'
      cmd
      info, info, info, info, info.
      
      $

      ;-))
      0