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+dom树型菜单类,希望朋友们一起进步
May 03 Javascript
jquery remove方法应用详解
Nov 22 Javascript
JavaScript简单实现鼠标拖动选择功能
Mar 06 Javascript
解析JavaScript模仿块级作用域
Dec 29 Javascript
js实现自动图片轮播代码
Mar 22 Javascript
使用JS动态显示文本
Sep 09 Javascript
vue2.0之多页面的开发的示例
Jan 30 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
Feb 05 Javascript
JavaScript中var、let、const区别浅析
Jun 24 Javascript
深入理解与使用keep-alive(配合router-view缓存整个路由页面)
Sep 25 Javascript
详解如何在Javascript和Sass之间共享变量
Nov 13 Javascript
从源码角度来回答keep-alive组件的缓存原理
Jan 18 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
set_include_path在win和linux下的区别
2008/01/10 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
2014/04/05 PHP
JavaScript 利用StringBuffer类提升+=拼接字符串效率
2009/11/24 Javascript
JavaScript 学习笔记(七)字符串的连接
2009/12/31 Javascript
JavaScript Timer实现代码
2010/02/17 Javascript
ExtJS PropertyGrid中使用Combobox选择值问题
2010/06/13 Javascript
浅谈Javascript事件处理程序的几种方式
2012/06/27 Javascript
鼠标滚轮控制网页横向移动实现思路
2013/03/22 Javascript
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
js禁止页面刷新与后退的方法
2015/06/08 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
JQuery核心函数是什么及使用方法介绍
2016/05/03 Javascript
JS快速实现移动端拼图游戏
2016/09/05 Javascript
BootStrap中的表单大全
2016/09/07 Javascript
Javascrip实现文字跳动特效
2016/11/27 Javascript
webpack4 css打包压缩问题的解决
2018/05/18 Javascript
微信小程序顶部导航栏滑动tab效果
2019/01/28 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
2019/09/20 Javascript
python将MongoDB里的ObjectId转换为时间戳的方法
2015/03/13 Python
python基于pygame实现响应游戏中事件的方法(附源码)
2015/11/11 Python
python 采集中文乱码问题的完美解决方法
2016/09/27 Python
Flask框架Flask-Principal基本用法实例分析
2018/07/23 Python
python实现批量视频分帧、保存视频帧
2019/05/31 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
2020/01/03 Python
scrapy-redis分布式爬虫的搭建过程(理论篇)
2020/09/29 Python
基于Jquery和Css3代码制作可以缩放的搜索框
2015/11/19 HTML / CSS
职称自我鉴定
2013/10/15 职场文书
教师档案管理制度
2014/01/23 职场文书
教师节商场活动方案
2014/02/13 职场文书
《恐龙》教学反思
2014/04/27 职场文书
政风行风评议整改方案
2014/09/15 职场文书
利用html+css实现菜单栏缓慢下拉效果的示例代码
2021/03/30 HTML / CSS
Node.js实现断点续传
2021/06/23 Javascript
Python3.8官网文档之类的基础语法阅读
2021/09/04 Python
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript
Python sklearn分类决策树方法详解
2022/09/23 Python