Trouver des files qui se terminent par un numéro

Im essayant de faire un script de sauvegarde que les files journaux deviennent de plus en plus gros. Ce que j'ai est en train de faire face au file actuel (par exemple, file secure dans /var/log/ ) et supprimer le contenu de ce file. Mais il y a des files avec le nom comme: secure.1 , secure.2 et tout ce que j'aime les countr, et si le nombre est plus grand que 2 pour les archiver tous. Je ne trouve pas la méthode pour find ces files ou les countr. Le premier pense que venir à moi était:

 find /var/log/ -name *.1 | wc -l 

et cela imprimera toujours 1 car il y a un file secure.1 . Comment puis-je countr comme dans la boucle pour où je peux spécifier une plage de nombres comme {1..5} ou similaire. Y at-il un moyen de séparer ces files et de les faire comme un et les sauvegarder ou supprimer ou quoi que ce soit … ou tout d'abord comment puis-je find tous ces numbers qui se termine par le numéro.

Avec simple -name :

 find /var/log -name '*.[2-9]' 

ou pour n'importe quel chiffre:

 find /var/log -name '*.[[:digit:]]' 

ou si d'autres caractères sont possibles après le chiffre:

 find /var/log -name '*.[2-9]*' 

Pour find les noms de files qui se termine par un nombre varie de . [1 à 5].

 find /var/log/ -type f -regextype sed -regex ".*\.[1-5]$" 

Pourquoi pas juste …

 for log in /var/log/*.[1-5] do whatever to "$log" done 

Vous n'avez pas besoin de find autant que je peux dire – le shell utilise les mêmes globes qu'il fait dans -name . Et si tous les files sont dans un seul directory … Bien sûr, s'il y a des sous-directorys qui vous intéressent, alors find peut être bénéfique – la marche des trees dans le shell peut être un mal de tête.