Node.js实现在目录中查找某个字符串及所在文件


Posted in Javascript onSeptember 03, 2014

需求如下:

整个目录下大概有40几M,文件无数,由于时间久了, 记不清那个字符串具体在哪个文件,于是。强大,亮瞎双眼的Node.js闪亮登场。

windows下安装Node.js和安装普通软件毫无差别,装完后打开Node.js的快捷方式,或者直接cmd,你懂的。

创建findString.js

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");

}

两个参数:第一个参数为“文件夹名称” 第二个参数为“你要查找的字符串”

如图:

Node.js实现在目录中查找某个字符串及所在文件

打印出文件路径,完事,收工。速度实在是彪悍,亮瞎双眼。。。如果采用java全文搜索,你惨了...

Javascript 相关文章推荐
javascript检查日期格式的函数[比较全]
Oct 17 Javascript
js控制web打印(局部打印)方法整理
May 29 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
Jan 13 Javascript
js 基础篇必看(点击事件轮播图的简单实现)
Aug 20 Javascript
angular实现表单验证及提交功能
Feb 01 Javascript
jQuery实现动态删除LI的方法
May 30 jQuery
基于JavaScript实现报警器提示音效果
Oct 27 Javascript
vue动态设置img的src路径实例
Sep 18 Javascript
微信小程序3D轮播实现代码
Sep 19 Javascript
Vue-Cli项目优化操作的实现
Oct 27 Javascript
Vue 实现一个简单的鼠标拖拽滚动效果插件
Dec 10 Vue.js
vue+element实现动态加载表单
Dec 13 Vue.js
iframe如何动态创建及释放其所占内存
Sep 03 #Javascript
Javascript正则控制文本框只能输入整数或浮点数
Sep 02 #Javascript
jquery制作select列表双向选择示例代码
Sep 02 #Javascript
一个获取第n个元素节点的js函数
Sep 02 #Javascript
indexOf 和 lastIndexOf 使用示例介绍
Sep 02 #Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
Sep 02 #Javascript
JavaScript判断文件上传类型的方法
Sep 02 #Javascript
You might like
discuz程序的PHP加密函数原理分析
2011/08/05 PHP
php curl模拟post提交数据示例
2013/12/31 PHP
基于php实现随机合并数组并排序(原排序)
2015/11/26 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
PHP开发API接口签名生成及验证操作示例
2020/05/27 PHP
JavaScript创建类/对象的几种方式概述及实例
2013/05/06 Javascript
jQuery制作的别致导航有阴影背景高亮模式窗口
2014/04/15 Javascript
让checkbox不选中即将选中的checkbox不选中
2014/07/11 Javascript
基于js里调用函数时,函数名带括号和不带括号的区别
2016/07/28 Javascript
JavaScript随机生成颜色的方法
2016/10/15 Javascript
jQuery grep()方法详解及实例代码
2016/10/30 Javascript
JavaScript反弹动画效果的实现代码
2017/07/13 Javascript
Vue的MVVM实现方法
2017/08/16 Javascript
详解在微信小程序的JS脚本中使用Promise来优化函数处理
2019/03/06 Javascript
vue下载excel的实现代码后台用post方法
2019/05/10 Javascript
nodemon实现Typescript项目热更新的示例代码
2019/11/19 Javascript
python实现决策树ID3算法的示例代码
2018/05/30 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
django项目简单调取百度翻译接口的方法
2019/08/06 Python
Tensorflow实现部分参数梯度更新操作
2020/01/23 Python
Python利用Xpath选择器爬取京东网商品信息
2020/06/01 Python
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
德国BA保镖药房韩文网:kr.ba.de
2017/09/04 全球购物
Trench London官方网站:高级风衣和意大利皮夹克
2020/07/11 全球购物
数据库面试要点基本概念
2013/10/31 面试题
奖学金自我鉴定范文
2013/10/03 职场文书
优秀团员个人事迹材料
2014/01/29 职场文书
大学毕业感言100字
2014/02/03 职场文书
护理专科自荐书范文
2014/02/18 职场文书
党建示范点实施方案
2014/03/12 职场文书
2014国庆65周年领导讲话稿(3篇)
2014/09/21 职场文书
公司离职证明标准格式
2014/11/18 职场文书
销售2014年度工作总结
2014/12/08 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
element多个表单校验的实现
2021/05/27 Javascript
vue使用Google Recaptcha验证的实现示例
2021/08/23 Vue.js