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 相关文章推荐
Jquery attr("checked") 返回checked或undefined 获取选中失效
Oct 10 Javascript
javascript手工制作悬浮菜单
Feb 12 Javascript
js确认框confirm()用法实例详解
Jan 07 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
Oct 14 Javascript
jQuery双向列表选择器select版
Nov 01 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
Jun 11 Javascript
微信JSSDK调用微信扫一扫功能的方法
Jul 25 Javascript
原生JS实现Ajax跨域请求flask响应内容
Oct 24 Javascript
js实现图片粘贴上传到服务器并展示的实例
Nov 08 Javascript
JS改变页面颜色源码分享
Feb 24 Javascript
js如何获取图片url的Blob值并预览示例代码
Mar 07 Javascript
javaScript实现一个队列的方法
Jul 14 Javascript
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
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
2019/05/01 PHP
php fread函数使用方法总结
2019/05/28 PHP
alixixi runcode.asp的代码不错的应用
2007/08/08 Javascript
Javascript 检测、添加、移除样式(className)函数代码
2009/09/08 Javascript
JQuery与Ajax常用代码实现对比
2009/10/03 Javascript
js制作带有遮罩弹出层实现登录注册表单特效代码分享
2015/09/05 Javascript
JS异步文件分片断点上传的实现思路
2016/12/25 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
nodejs中Express与Koa2对比分析
2018/02/06 NodeJs
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
python两种遍历字典(dict)的方法比较
2014/05/29 Python
pycharm 使用心得(八)如何调用另一文件中的函数
2014/06/06 Python
详解Python中的文本处理
2015/04/11 Python
python装饰器与递归算法详解
2016/02/18 Python
Python 文件处理注意事项总结
2017/04/10 Python
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
使用NumPy和pandas对CSV文件进行写操作的实例
2018/06/14 Python
利用Python如何实现一个小说网站雏形
2018/11/23 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
2019/08/20 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
用python读取xlsx文件
2020/12/17 Python
html+css3实现的登录界面
2020/12/09 HTML / CSS
世界最大的私人旅行指南出版商:孤独星球
2016/08/23 全球购物
HOTEL INFO英国:搜索全球酒店
2019/08/08 全球购物
Java Servlet API中forward() 与redirect()的区别
2014/04/20 面试题
单位门卫岗位职责
2013/12/20 职场文书
维稳承诺书
2015/01/20 职场文书
大学生求职自荐信范文
2015/03/04 职场文书
停电调休通知
2015/04/16 职场文书
上课迟到检讨书
2015/05/06 职场文书
阿凡达观后感
2015/06/10 职场文书
导游词之阆中古城
2019/12/23 职场文书
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript
详解SQL报错盲注
2022/07/23 SQL Server