Cherchez sur votre serveur FTP à la vitesse de l'éclair
Fatigué des fonctions de recherche FTP désespérément lentes ? Découvrez php_grep, le script PHP ultra-rapide qui utilise les expressions régulières pour trouver du contenu sur votre serveur FTP en un éclair.
Traduction automatique
Cet article fait partie de la série WinSCP et transfert de fichiers distant :
- KeePass - Remplacer le champ URL
- WinSCP - Récupérer un mot de passe enregistré
- Erreur fatale au démarrage de Putty après avoir sauvegardé les paramètres
- WinSCP - Synchroniser l'host et le serveur distant
- FTP - Supprimer fichiers et dossiers à la vitesse de la lumière
- WinSCP - utilisation avec Visual Basic for Application
- WinSCP - Télécharger récursivement les fichiers d'une extension donnée
- Cherchez sur votre serveur FTP à la vitesse de l'éclair
Journal des modifications

Chercher du texte sur un serveur FTP peut être incroyablement lent, surtout avec des outils comme la recherche intégrée de WinSCP. Cet article présente php_grep, un script PHP léger et ultra-rapide qui change la donne pour la recherche sur FTP. Il suffit d'uploader ce fichier unique sur votre serveur et d'y accéder via une URL pour lancer des recherches instantanées basées sur des expressions régulières dans le contenu de vos fichiers, et même filtrer les résultats par type de fichier.
Saviez-vous qu'avec WinSCP, vous pouvez lancer une recherche sur votre FTP pour trouver tous les documents contenant une chaîne donnée ? C'est natif dans WinSCP, rien de plus à installer, mais...
D'autres astuces WinSCP sur ce blog : télécharger récursivement les fichiers ayant une extension précise et synchroniser la machine locale et le serveur distant.
Le problème : c'est terriblement lent. Voyons comment faire mieux et quasi instantanément.
WinSCP - Rechercher du texte
Vous ne l'avez probablement jamais remarqué (c'était mon cas), mais vous pouvez lancer une recherche dans les fichiers de votre serveur FTP depuis WinSCP.
Pour cela, allez dans le menu Commands, puis Static custom commands et enfin Search for Text.... Tapez votre motif de recherche et appuyez sur Enter.

Un nouveau prompt Powershell va s'ouvrir et vous verrez la liste des fichiers analysés.

C'est un script Powershell
WinSCP lance en réalité un script .ps1 situé ici : C:\Program Files (x86)\WinSCP\Extensions\SearchText.WinSCPextension.ps1. N'hésitez pas à modifier le fichier selon vos besoins.
C'est atrocement lent et vous obtenez une énorme liste avec tous vos fichiers, pas seulement ceux où le motif a été trouvé. Cette fonction a le mérite d'exister, mais ça s'arrête là.
php_grep
Le temps passe... En 2016, j'ai développé un petit script ultra-rapide appelé php_grep qui parcourt chaque fichier présent et, à l'aide d'une petite expression régulière, trouve les fichiers contenant le motif recherché et affiche sa position en cas de succès.
Il vous suffit de télécharger une copie de mon script (une seule page PHP), de la copier sur votre serveur FTP et d'y accéder via une URL. Vraiment simple.
Vous obtenez alors une interface où vous pouvez taper, bien sûr, l'expression recherchée, mais aussi restreindre la recherche aux fichiers .html par exemple.

Plus d'infos sur https://github.com/cavo789/php_grep
L'astuce ici, c'est de chercher sur le serveur : rien ne transite sur le réseau. Quand les fichiers sont déjà sur votre propre disque, c'est ripgrep qui procure la même sensation de vitesse fulgurante.
Cet article fait partie de la série WinSCP et transfert de fichiers distant :
- KeePass - Remplacer le champ URL
- WinSCP - Récupérer un mot de passe enregistré
- Erreur fatale au démarrage de Putty après avoir sauvegardé les paramètres
- WinSCP - Synchroniser l'host et le serveur distant
- FTP - Supprimer fichiers et dossiers à la vitesse de la lumière
- WinSCP - utilisation avec Visual Basic for Application
- WinSCP - Télécharger récursivement les fichiers d'une extension donnée
- Cherchez sur votre serveur FTP à la vitesse de l'éclair


