Renommer un fichier par regex en bash

Résolu
binsh -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Je cherche a selectionner une partie du nom d'un fichier.
j'ai un fichier :
1268252328.P18947Q0M927234.binsh:2,S
dans une variable $FILENAME
j'aimerai selectionner seulement le "binsh" dans une variable c'est a dire enlever les majuscules et les nombres
Quelqu'un peut t'il m'aider ?
Configuration: Linux / Firefox 3.5.8

4 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    [tmpfs]$ echo $A
    1268252328.P18947Q0M927234.binsh:2,S
    
    [tmpfs]$ echo $A | sed 's/[[:digit:]]*[[:punct:]]*[[:upper:]]*//g'
    binsh
    
    [tmpfs]$

    ;-))
    1
  2. binsh
     
    Merci beaucoup, cela semble fonctionner. J'aimerai recuperer
    echo $A | sed 's/[[:digit:]]*[[:punct:]]*[[:upper:]]*//g'

    dans une variable. Comment puis-je faire?

    Merci
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Comme suit :

      VAR=$(echo $A | sed 's/[[:digit:][:punct:][:upper:]]*//g')
      0
  3. binsh
     
    résolu :

    name=$(echo $FILENAME | sed 's/[[:digit:]]*[[:punct:]]*[[:upper:]]*//g')
    0
  4. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    On va faire plus simple...

    [tmpfs]$ echo $A
    1268252328.P18947Q0M927234.binsh:2,S
    
    [tmpfs]$ echo ${A//[[:digit:][:punct:][:upper:]]/}
    binsh
    
    [tmpfs]$

    ;-))
    0