Script shell remplacer dernier char par point

Fermé
hardshell - 4 oct. 2011 à 16:02
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 4 oct. 2011 à 16:36
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
A voir également:

3 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 415
4 oct. 2011 à 16:05
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
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
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
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 415
4 oct. 2011 à 16:36
$ echo "$A"
cmd
info, info, info, info, info,

$ echo "$A" | sed 's/,$/./'
cmd
info, info, info, info, info.

$

;-))
0