欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Node.js實(shí)現(xiàn)在目錄中查找某個(gè)字符串及所在文件

 更新時(shí)間:2014年09月03日 08:47:34   投稿:junjie  
這篇文章主要介紹了Node.js實(shí)現(xiàn)在目錄中查找某個(gè)字符串及所在文件,文中代碼簡(jiǎn)潔,而且速度相當(dāng)?shù)目?需要的朋友可以參考下

需求如下:

整個(gè)目錄下大概有40幾M,文件無(wú)數(shù),由于時(shí)間久了, 記不清那個(gè)字符串具體在哪個(gè)文件,于是。強(qiáng)大,亮瞎雙眼的Node.js閃亮登場(chǎng)。

windows下安裝Node.js和安裝普通軟件毫無(wú)差別,裝完后打開Node.js的快捷方式,或者直接cmd,你懂的。

創(chuàng)建findString.js

復(fù)制代碼 代碼如下:

var path = require("path");
var fs = require("fs");
 
var filePath = process.argv[2];
var lookingForString = process.argv[3];
recursiveReadFile(filePath);
 
function recursiveReadFile(fileName){
 if(!fs.existsSync(fileName)) return;
 if(isFile(fileName)){
  check(fileName);
 }
 if(isDirectory(fileName)){
  var files = fs.readdirSync(fileName);
  files.forEach(function(val,key){
  var temp = path.join(fileName,val);
            if(isDirectory(temp)) recursiveReadFile(temp);
            if (isFile(temp)) check(temp);
  })
 }
}
function check(fileName){
 var data = readFile(fileName);
 var exc = new RegExp(lookingForString);
    if(exc.test(data))
 console.log(fileName);
 
}
function isDirectory(fileName){
    if(fs.existsSync(fileName)) return fs.statSync(fileName).isDirectory();
}
function isFile(fileName){
  if(fs.existsSync(fileName)) return fs.statSync(fileName).isFile();
}
function readFile(fileName){
 if(fs.existsSync(fileName)) return fs.readFileSync(fileName,"utf-8");
}

兩個(gè)參數(shù):第一個(gè)參數(shù)為“文件夾名稱” 第二個(gè)參數(shù)為“你要查找的字符串”

如圖:

打印出文件路徑,完事,收工。速度實(shí)在是彪悍,亮瞎雙眼。。。如果采用java全文搜索,你慘了...

相關(guān)文章

  • Node.js中的process.nextTick使用實(shí)例

    Node.js中的process.nextTick使用實(shí)例

    這篇文章主要介紹了Node.js中的process.nextTick使用實(shí)例,nextTick函數(shù)有什么用、怎么用、和setTimeout有什么區(qū)別呢,本文就講解了這些知識(shí),需要的朋友可以參考下
    2015-06-06
  • nodejs部署到騰訊云服務(wù)器的實(shí)現(xiàn)(寶塔面板linux系統(tǒng))

    nodejs部署到騰訊云服務(wù)器的實(shí)現(xiàn)(寶塔面板linux系統(tǒng))

    本文主要介紹了nodejs部署到騰訊云服務(wù)器的實(shí)現(xiàn)(寶塔面板linux系統(tǒng)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • nodejs模塊學(xué)習(xí)之connect解析

    nodejs模塊學(xué)習(xí)之connect解析

    這篇文章主要介紹了nodejs模塊學(xué)習(xí)之connect解析,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • node快速搭建后臺(tái)的實(shí)現(xiàn)步驟

    node快速搭建后臺(tái)的實(shí)現(xiàn)步驟

    本文主要介紹了node快速搭建后臺(tái),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Node.js實(shí)現(xiàn)下載文件的兩種實(shí)用方式

    Node.js實(shí)現(xiàn)下載文件的兩種實(shí)用方式

    最近優(yōu)化了幾個(gè)新人寫出的動(dòng)態(tài)表格文件下載接口的性能瓶頸,感覺(jué)非常有必要總結(jié)一篇文章作為文檔來(lái)拋磚引玉,這篇文章主要給大家介紹了關(guān)于Node.js實(shí)現(xiàn)下載文件的兩種實(shí)用方式,需要的朋友可以參考下
    2022-09-09
  • Node.js安裝及npm國(guó)內(nèi)鏡像配置的方法實(shí)現(xiàn)

    Node.js安裝及npm國(guó)內(nèi)鏡像配置的方法實(shí)現(xiàn)

    本文主要介紹了Node.js安裝及npm國(guó)內(nèi)鏡像配置,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • nodejs中的express-jwt的使用解讀

    nodejs中的express-jwt的使用解讀

    這篇文章主要介紹了nodejs中的express-jwt的使用解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • express的中間件cookieParser詳解

    express的中間件cookieParser詳解

    這篇文章主要介紹了node.js中express的中間件cookieParser的使用方法,需要的朋友可以參考下
    2014-12-12
  • Yarn的安裝與使用詳細(xì)介紹

    Yarn的安裝與使用詳細(xì)介紹

    不知道大家有沒(méi)有覺(jué)察到Facebook近年大招頻出。Yarn是Facebook最近發(fā)布的一款依賴包安裝工具。Yarn是一個(gè)新的快速安全可信賴的可以替代NPM的依賴管理工具,Yarn正式發(fā)布沒(méi)幾天已經(jīng)迅速達(dá)到了數(shù)萬(wàn)贊,就可以知道大家苦NPM久已。這篇文章將詳細(xì)介紹Yarn的安裝與使用。
    2016-10-10
  • nodejs使用redis作為緩存介質(zhì)實(shí)現(xiàn)的封裝緩存類示例

    nodejs使用redis作為緩存介質(zhì)實(shí)現(xiàn)的封裝緩存類示例

    這篇文章主要介紹了nodejs使用redis作為緩存介質(zhì)實(shí)現(xiàn)的封裝緩存類,涉及nodejs操作redis進(jìn)行緩存設(shè)置相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02

最新評(píng)論