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... :(

7 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 502
     
    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
  2. 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
  3. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 502
     
    $ echo "${var}"
    \\192.168.2.11\blabla\blibli\blou.blou\lefichier.ext

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

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

    0
  4. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    sed 's/.*\.//'
    fonctionne chez moi.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

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

    Si vous avez d'autres idées n'hésitez pas! :)
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 502
       
      $ echo "${var}" | awk -F'.' '{ print $NF }'
      ext
      0
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 502
       
      $ echo "${var}" | grep -Po '.*\.\K.*'
      ext
      0
  7. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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
  8. M.Burke
     
    Merci les amis!

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