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

Résolu/Fermé
M.Burke - 3 avril 2014 à 16:23
 M.Burke - 4 avril 2014 à 10:02
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
3 avril 2014 à 16:29
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
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
3 avril 2014 à 16:41
$ 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 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
3 avril 2014 à 16:44
sed 's/.*\.//'
fonctionne chez moi.
0

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

Posez votre question
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
3 avril 2014 à 17:00
$ echo "${var}" | awk -F'.' '{ print $NF }'
ext
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
3 avril 2014 à 17:03
$ echo "${var}" | grep -Po '.*\.\K.*'
ext
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié par dubcek le 4/04/2014 à 08:59
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
Merci les amis!

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