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 相关文章推荐
JS 页面内容搜索,类似于 Ctrl+F功能的实现代码
Aug 13 Javascript
一实用的实现table排序的Javascript类库
Sep 12 Javascript
window.location.hash 使用说明
Nov 08 Javascript
JavaScript高级程序设计(第3版)学习笔记 概述
Oct 11 Javascript
详解JS 比较两个Json对象的值是否相等的实例
Nov 20 Javascript
javascript数字时钟示例分享
Apr 23 Javascript
node.js cookie-parser 中间件介绍
Jun 06 Javascript
逻辑表达式中与或非的用法详解
Jun 06 Javascript
jQuery与vue实现拖动验证码功能
Jan 30 jQuery
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
Dec 06 jQuery
记一次Vue.js混入mixin的使用(分权限管理页面)
Apr 17 Javascript
react quill中图片上传由默认转成base64改成上传到服务器的方法
Oct 30 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
php zlib压缩和解压缩swf文件的代码
2008/12/30 PHP
php cache类代码(php数据缓存类)
2010/04/15 PHP
PHP SEO优化之URL优化方法
2011/04/21 PHP
PHP 自定义错误处理函数trigger_error()
2013/03/26 PHP
php实现在线生成条形码示例分享(条形码生成器)
2013/12/30 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
PHP实现数组的笛卡尔积运算示例
2017/12/15 PHP
jQuery的链式调用浅析
2010/12/03 Javascript
jQuery fadeTo方法调整图片的透明度使用介绍
2013/05/06 Javascript
javascript常见操作汇总
2014/09/03 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
2016/04/19 Javascript
JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
2017/02/14 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
2017/08/29 jQuery
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【矩形情况】
2018/12/13 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
javascript实现弹出层效果
2019/12/10 Javascript
基于vue3.0.1beta搭建仿京东的电商H5项目
2020/05/06 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
2020/06/16 Javascript
[50:50]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.20
2020/12/23 DOTA
python利用beautifulSoup实现爬虫
2014/09/29 Python
用python打印1~20的整数实例讲解
2019/07/01 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
2019/09/16 Python
Python描述符descriptor使用原理解析
2020/03/21 Python
Python3+Flask安装使用教程详解
2021/02/16 Python
定义css设备类型-Media Queries图表简介及使用方法
2013/01/21 HTML / CSS
一些常用的HTML5模式(pattern) 总结
2015/07/14 HTML / CSS
Java语言程序设计测试题选择题部分
2014/04/03 面试题
目标责任书格式
2014/07/28 职场文书
英语复习计划
2015/01/19 职场文书
辩护词范文大全
2015/05/21 职场文书
2016年学校禁毒宣传活动工作总结
2016/04/05 职场文书
2019行政前台转正申请书范文3篇
2019/08/15 职场文书
导游词之湖北武当山
2019/09/23 职场文书