Supprimer caractère avant le dernier point d'une ligne

Résolu
M.Burke -  
 M.Burke -
Bonjour,

Tout est dans le titre :)

Je suis à la recherche d'une commande qui lit chaque ligne d'un fichier, et supprime tous les caractères avant le dernier "." contenu dans la ligne.

Merci d'avance, je suis une quiche en unix... :(

A voir également:

7 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

Le point est le dernier caractère sur la ligne ?
Ou le point peut être n'importe où ?

Un exemple concret AVANT => APRÈS serait le bienvenu.
0
M.Burke
 
Avant:

\\192.168.2.11\blabla\blibli\blou.blou\lefichier.ext

Après:

".ext" ou "ext"

Ensuite les trier par la première lettre via un sort.
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
$ echo "${var}"
\\192.168.2.11\blabla\blibli\blou.blou\lefichier.ext

$ echo "${var##*.}"
ext

$ echo "${var}" | sed 's/.*\.//'
ext

0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
sed 's/.*\.//'
fonctionne chez moi.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
M.Burke
 
Merci, je teste ça demain matin du coup ;)

Si vous avez d'autres idées n'hésitez pas! :)
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
$ echo "${var}" | awk -F'.' '{ print $NF }'
ext
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
$ echo "${var}" | grep -Po '.*\.\K.*'
ext
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
$ var=\\192.168.2.11\blabla\blibli\blou.blou\lefichier.ext
$ IFS=. t=($var)
$ echo ${t[${#t[@]}-1]}
ext
$ IFS=. set -- $var
$ echo ${!#}
ext
0
M.Burke
 
Merci les amis!

Ca marche :)
0
M.Burke
 
Commande sed --> très efficace!
0