Les exigences sont les suivantes:
Il y a environ 40 m de fichiers dans l'ensemble du répertoire, et il y a d'innombrables fichiers. Au fil du temps, je ne me souviens pas dans quel fichier se trouve la chaîne, donc. Le Node puissant et aveuglant.js a fait un brillant début.
Il n'y a pas de différence entre l'installation de Node.js dans Windows et l'installation de logiciels ordinaires. Après l'installation, ouvrez le raccourci sur Node.js, ou directement CMD, vous savez.
Créer findstring.js
La copie de code est la suivante:
var path = require ("path");
var fs = require ("fs");
var filepath = process.argv [2];
var lookForstring = process.argv [3];
RecursiveReadFile (filepath);
fonction récursiveReadfile (nom de fichier) {
if (! fs.existSync (nom de fichier)) Retour;
if (isfile (nom de fichier)) {
vérifier (nom de fichier);
}
if (isdirectory (nom de fichier)) {
var files = fs.readDiRSYnc (nom de fichier);
files.ForEach (fonction (val, key) {
var temp = path.join (nom de fichier, val);
if (isdirectory (temp))) récursiveReadfile (temp);
if (isfile (temp)) chèque (temp);
})
}
}
Fonction Check (nom de fichier) {
var data = readFile (nom de fichier);
var exc = nouveau regexp (lookForstring);
if (excc.test (data))
console.log (nom de fichier);
}
fonction isdirectory (nom de fichier) {
if (fs.existsync (nom de fichier)) renvoie fsatSync (nom de fichier) .isDirectory ();
}
fonction isfile (nom de fichier) {
if (fs.existSync (nom de fichier)) renvoie fsatSync (nom de fichier) .isfile ();
}
fonction readFile (nom de fichier) {
if (fs.existSync (nom de fichier)) renvoie fs.readfilesync (nom de fichier, "utf-8");
}
Deux paramètres: le premier paramètre est "nom de dossier" et le deuxième paramètre est "la chaîne que vous recherchez"
Comme indiqué dans l'image:
Imprimez le chemin du fichier, terminez le travail. La vitesse est vraiment féroce, aveuglant les yeux. . . Si vous utilisez la recherche en texte intégral Java, vous serez misérable ...