Renommer un fichier par regex en bash

Résolu/Fermé
binsh - 16 mars 2010 à 23:32
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 17 mars 2010 à 09:21
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 ?
A voir également:

4 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
16 mars 2010 à 23:45
Salut,

[tmpfs]$ echo $A
1268252328.P18947Q0M927234.binsh:2,S

[tmpfs]$ echo $A | sed 's/[[:digit:]]*[[:punct:]]*[[:upper:]]*//g'
binsh

[tmpfs]$

;-))
1
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
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
17 mars 2010 à 08:36
Comme suit :

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

name=$(echo $FILENAME | sed 's/[[:digit:]]*[[:punct:]]*[[:upper:]]*//g')
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
17 mars 2010 à 09:21
On va faire plus simple...

[tmpfs]$ echo $A
1268252328.P18947Q0M927234.binsh:2,S

[tmpfs]$ echo ${A//[[:digit:][:punct:][:upper:]]/}
binsh

[tmpfs]$

;-))
0