Page 1 of 1

Liste récursive genre < ls -R *.iso > en Gambas : possible ?

Posted: Fri 18 Mar 2016, 00:47
by musher0
Salut didier (ou autre).

As-tu quelque chose de rapide en langage Gambas pour faire une liste récursive
genre < ls -R *.iso > ?

< ls -R > fait la récursion des fichiers dans tous les sous-répertoires sous un
répertoire donné, mais pas si tu lui demandes tel nom de fichier, < ls -R *.iso >,
par exemple.

Contexte : C'est pour ce fil-là, page 22 et ss. L18L et bigpup utilisent
< find > et c'est hyper-lent. (bigpup est poli, mais attention quand même, le
phénomène "in-group / out-group" est présent.)

Ou tout autre langage que tu connaîtrais qui dresserait une liste filtrée plus
rapidement et mieux que les utilitaires GNU fournis par défaut dans les Linux.

Ce qui rendrait service à tout le monde, finalement, pas juste dans le contexte
d'une recherche d'isos dans un but précis.

Merci d'avance.

Posted: Fri 18 Mar 2016, 09:52
by did18
Bonjour

musher0@, en gambas, tu as la fonction RDir qui fait tout le travail.
http://gambaswiki.org/wiki/lang/rdir?l=fr

Dans l'exemple et pour ton cas if suffira de remplacer le *.png par *.iso.

Bonne journée

Posted: Fri 18 Mar 2016, 17:29
by musher0
did18 wrote:Bonjour

musher0@, en gambas, tu as la fonction RDir qui fait tout le travail.
http://gambaswiki.org/wiki/lang/rdir?l=fr

Dans l'exemple et pour ton cas if suffira de remplacer le *.png par *.iso.

Bonne journée
Merci didier.

Est-elle plus rapide que < find >, cette fonction de gambas?

Merci d'avance.

Posted: Fri 18 Mar 2016, 19:55
by musher0
@ tout le monde :

Pour mémoire, je viens de découvrir que

Code: Select all

tree | grep -E "\.iso$"
fait très bien l'affaire, au lieu de < ls >.

J'ai enligné une version de < tree > ici.

Toutes les distros ont < tree > par défaut. Seule une infime minorité de Puppys l'a.
Alors... servez-vous ! Comblez ce trou béant ! :twisted:

À+

Posted: Fri 18 Mar 2016, 20:55
by did18
Bonsoir

musher0@, find sera plus rapide que RDir, mais ce sont les filtres placés après (pour récupérer tout ce qui est *.iso) qui fera perdre du temps.
On pourrai le vérifier en comparant le nombre de cycles horloge consommés, malgré tout je pense que find (seul) en sortirai vainqueur car cette commande ne fait pas la même chose que RDir.

Par exemple, j'utilise RDir dans crearch, conjointement avec une boucle 'pour chaque', (pardon, (For Each)), pour la gestion des fichiers .desktop.
Soit il n'y en a pas, soit il y en a 1, soit il y en a plusieurs. Donc 'selon le cas', (pardon, (Select Case)) on effectue telle ou telle action...

Il s'agit de la procédure, Verifsfs(), qui est à la fin du code source de FMain de creach_1.1.30.zip.

Mais je vois que tu as trouvé ton bonheur par un autre biais...

Bonne soirée.

Posted: Sat 19 Mar 2016, 05:42
by musher0
Salut, didier.

Encore merci.
~~~~~~~~~~~~
Mon bonheur, mon bonheur... Euh...
Vaut mieux avoir trop de tournevis que pas assez !!! :D

À+

j'ai pas encore essayé Gambas

Posted: Tue 29 Mar 2016, 10:00
by Pelo
Utiliser pfind n'est point plus lent qu'un autre, c'est juste un masque pour ne pas avoir à apprendre le langage de la console en linux.
Le traduction du choix fait en Pfind apparait en langage linux en bas du masque.
La triche pour dire que moteur de recherche est plus rapide, c'est l'index.
Mais l'indexage en lui-même prend un sacré bout de temps, pas chez moi parce que je fais de la gestion permanente
On rejoint la gestion de base de données, trier, indexer, ou rien du tout.
Les ISOs, j'en ai une cinquantaine, pas de soucis.
j'ai pas encore essayé Gambas, ces trucs là il faut apprendre à s'en servir. Sous windows jai un chercheur hyper rapide. Mais windows c'est énorme. Je n'y stocke que mes isos (pour les faire tourner en Virtual box)

Gambas est un langage de programmation pour Linux qui a pour objectif de copier la facilité d'utilisation de Visual Basic mais en améliorant ses fonctionnalités et en supprimant ses défauts.
Le basic, je savais faire grosso modo. le Basic des fois m'aiderait bien.
Les programmeurs disent que les boucles sont une aberration, mais j'en vois dans le linuxien de Puppy :?

Posted: Tue 29 Mar 2016, 13:23
by did18
Bonjour à tous

Pelo@, juste quelques petites précisions...
Dans les messages précédents musher0 faisait référence à la commande 'find' et non pas au programme 'Pfind'.
Gambas est un langage de programmation pour Linux qui a pour objectif de copier la facilité d'utilisation de Visual Basic
C'est à la fois réducteur et faux.
1) L'objectif de gambas n'est pas de copier quoi que ce soit...
2) A version équivalente (gambas3 et VB3) gambas3 est bien plus abouti que ne l'était VB3 en son temps...
3) Gambas3 a été créé par un Français...
4) Gambas3 est GRATUIT !
5) Gambas3 Fonctionne indifférement sur toutes les plateformes Linux (même sous Raspberry avec Raspbian).

On ne peut pas en dire autant pour VB3 (voir les points 2 à 5)...
Bien sur l'époque et les matériels sont différents et donc la comparaison est faussée.
Les programmeurs disent que les boucles sont une aberration,
Phrase sortie de sont contexte sans doute...? Les boucles sont aussi nécessaire que les conditions. Si elles sont inclues dans les langages ce n'est pas pour faire joli, d'ailleurs les boucles sont utilisées dans tous les langages pas seulement dans gambas3.
j'ai pas encore essayé Gambas
Je ne peux que t'encourager à essayer, tu verras que l'apprentissage se fait rapidement (en + l'aide est disponible en Français)...

Alors, tu commences quand ? ;-)

Bonne journée.

çà demande trop de rigueur, et de patience.

Posted: Tue 29 Mar 2016, 13:48
by Pelo
Ouh, j'ai dis 'jamais !' un jour.. Laissons çà à ceux qui aiment, et qui sont doués pour çà. çà demande trop de rigueur, et de patience. Ce que je n'ai pas...

Re: çà demande trop de rigueur, et de patience.

Posted: Tue 29 Mar 2016, 19:58
by musher0
Pelo wrote:Ouh, j'ai dis 'jamais !' un jour.. Laissons çà à ceux qui aiment, et qui sont doués pour çà. çà demande trop de rigueur, et de patience. Ce que je n'ai pas...
Tiens, tiens.