Soit un ls -l qui me renvoie les informations suivantes :
-rw------- 1 normal normal 306626 2010-02-27 11:41
grisbi_060_20100227T114139.gsb
-rw------- 1 normal normal 308630 2010-02-27 11:55
grisbi_060_20100227T115547.gsb
-rw------- 1 normal normal 306750 2010-02-28 08:55
grisbi_060_20100228T085548.gsb
-rw------- 1 normal normal 308745 2010-02-28 12:47
grisbi_060_20100228T124719.gsb
-rw------- 1 normal normal 306888 2010-03-02 04:52
grisbi_060_20100302T045227.gsb
-rw------- 1 normal normal 308915 2010-03-03 19:00
grisbi_060_20100303T190043.gsb
-rw------- 1 normal normal 307016 2010-03-05 07:35
grisbi_060_20100305T073532.gsb
-rw------- 1 normal normal 309195 2010-03-05 18:01
grisbi_060_20100305T180111.gsb
-rw------- 1 normal normal 307539 2010-03-06 09:23
grisbi_060_20100306T092340.gsb
-rw------- 1 normal normal 309493 2010-03-09 06:31
grisbi_060_20100309T063100.gsb
-rw------- 1 normal normal 307389 2010-03-11 06:14
grisbi_060_20100311T061409.gsb
etc.
Tous ces fichiers ont, dans une partie de leur nom, un motif de la forme
AAAAMMJJ. Par exemple, pour le dernier, j'ai 20100311
Je sais lister les fichiers qui ont ce motif avec :
ls -l *20100311*
Comme pourrais-je faire pour n'avoir pas ce motif en sortie de ls ? En
sous produit, j'aimerais pouvoir supprimer avec rm les fichiers qui
n'ont pas ce motif.
Je vous remercie et vous souhaite une bonne journée,
--
Dominique
Courriel : dominique point sextant ate orange en France
Esto quod es
Le * ne sélectionne pas les fichiers commençant par « . ». Donc il faut rajouter un motif pour eux, mais en prenant garde à exclure « . » et « .. ». « .[!.]* » sélectionne toutes les entrées commençant par un point, suivi d'autre chose qu'un point, et « ..?* » sélectionne tout ce qui commence par « .. » et est au moins suivi d'un caractère.
Dominique :
Pourrais-tu m'expliquer ton motif .[!.]* ..?* ?
Le * ne sélectionne pas les fichiers commençant par « . ». Donc il faut
rajouter un motif pour eux, mais en prenant garde à exclure « . » et « .. ».
« .[!.]* » sélectionne toutes les entrées commençant par un point, suivi
d'autre chose qu'un point, et « ..?* » sélectionne tout ce qui commence par
« .. » et est au moins suivi d'un caractère.
Le * ne sélectionne pas les fichiers commençant par « . ». Donc il faut rajouter un motif pour eux, mais en prenant garde à exclure « . » et « .. ». « .[!.]* » sélectionne toutes les entrées commençant par un point, suivi d'autre chose qu'un point, et « ..?* » sélectionne tout ce qui commence par « .. » et est au moins suivi d'un caractère.
Nicolas George
Fabien LE LEZ wrote in message :
J'imagine que "find" est plus adéquat ?
Un peu. Je préfère largement utiliser un shell avec un globbing plus évolué.
Mais... y a-t-il un moyen de mettre grep entre les deux, pour filtrer ?
man grep, /0 donne la réponse : oui.
Fabien LE LEZ wrote in message
<nctpp5lmajosnkcebc8klh5m095lprgcpk@4ax.com>:
J'imagine que "find" est plus adéquat ?
Un peu. Je préfère largement utiliser un shell avec un globbing plus évolué.
Mais... y a-t-il un moyen de mettre grep entre les deux, pour
filtrer ?
Un peu. Je préfère largement utiliser un shell avec un globbing plus évolué.
Mais... y a-t-il un moyen de mettre grep entre les deux, pour filtrer ?
man grep, /0 donne la réponse : oui.
Luc.Habert.00__arjf
Fabien LE LEZ :
Mais... y a-t-il un moyen de mettre grep entre les deux, pour filtrer ?
Non (enfin, pas sans acrobaties grotesques du genre intercaler un xargs -0 exécutant un script shell qui filtre). Mais find lui-même permet de filtrer, regarde entre autres les opérateurs -name et -regex.
Fabien LE LEZ :
Mais... y a-t-il un moyen de mettre grep entre les deux, pour
filtrer ?
Non (enfin, pas sans acrobaties grotesques du genre intercaler un xargs -0
exécutant un script shell qui filtre). Mais find lui-même permet de filtrer,
regarde entre autres les opérateurs -name et -regex.
Mais... y a-t-il un moyen de mettre grep entre les deux, pour filtrer ?
Non (enfin, pas sans acrobaties grotesques du genre intercaler un xargs -0 exécutant un script shell qui filtre). Mais find lui-même permet de filtrer, regarde entre autres les opérateurs -name et -regex.