VScode搜索功能图示:
关键点:读取目录文件夹,判断是否文件夹,若是递归继续读取,否则通过正则或普通匹配关键词。
统计唯一文件名数量,统计总搜索记录数量累加,展示结果。
Core code:
const fs = require('fs'); const path = require('path'); // const basePath = path.resolve('src'); // const matchFile = /\.(jsx?|css)$/; const basePath = path.normalize('D:\\Dev\\xxx\\src\\main\\webapp'); const matchFile = /\.(jsp?|css)$/; const searchWord = /\/assetWithdraw\/.*?\.html/img; const matchList = {}; let fileCount = 0; const isDirectory = source => fs.lstatSync(source).isDirectory(); const getDirectories = source => fs.readdirSync(source).map(fileName => { const newPath = path.join(source, fileName); if (isDirectory(newPath)) { getDirectories(newPath); } else { if (matchFile.test(fileName)) { const contents = fs.readFileSync(newPath, 'utf8'); let matchs = contents.match(searchWord); if (matchs) { fileCount += 1; matchs.map(v => { matchList[newPath] = (matchList[newPath] || 0) + 1; }); } } } }); getDirectories(basePath); const sortList = Object.keys(matchList); console.log(`Stat: ${Object.values(matchList).reduce((a,b) => a+b, 0)} results in ${fileCount} files (Unique of ${sortList.length})\n`); console.log(sortList.map((v, i) => `${i+1}, ${v} (${matchList[v]})`).join('\n'));
搜索结果print:
Stat: 179 results in 65 files (Unique of 65) 1, D:xxx.js (1) 2, D:xxx.js (6) 3, D:xxx.js (1) 4, D:xxx.js (3) 5, D:xxx.js (4) 6, D:xxx.js (1) 7, D:xxx.js (2) 8, D:xxx.js (1) 9, D:xxx.js (1) 10, D:xxx.js (2) 11, D:xxx.js (2) 12, D:xxx.js (2) 13, D:xxx.js (5) 14, D:xxx.js (1) 15, D:xxx.js (2) 16, D:xxx.js (1) 17, D:xxx.js (4) 18, D:xxx.js (2) 19, D:xxx.js (1) 20, D:xxx.js (1) 21, D:xxx.js (1) 22, D:xxx.js (1) 23, D:xxx.js (2) 24, D:xxx.js (7) 25, D:xxx.js (1) 26, D:xxx.js (2) 27, D:xxx.js (1) 28, D:xxx.js (4) 29, D:xxx.js (2) 30, D:xxx.js (1) 31, D:xxx.js (1) 32, D:xxx.js (1) 33, D:xxx.js (1) 34, D:xxx.js (2) 35, D:xxx.js (7) 36, D:xxx.js (1) 37, D:xxx.js (2) 38, D:xxx.js (1) 39, D:xxx.js (4) 40, D:xxx.js (2) 41, D:xxx.js (1) 42, D:xxx.js (1) 43, D:xxx.js (1) 44, D:xxx.js (1) 45, D:xxx.js (2) 46, D:xxx.js (6) 47, D:xxx.js (13) 48, D:xxx.js (3) 49, D:xxx.js (3) 50, D:xxx.js (1) 51, D:xxx.js (4) 52, D:xxx.js (1) 53, D:xxx.js (3) 54, D:xxx.js (3) 55, D:xxx.js (13) 56, D:xxx.js (3) 57, D:xxx.js (3) 58, D:xxx.js (13) 59, D:xxx.js (3) 60, D:xxx.js (3) 61, D:xxx.js (3) 62, D:xxx.js (1) 63, D:xxx.js (4) 64, D:xxx.js (1) 65, D:xxx.js (2)
相关推荐
!!!!git 2.43 for windows 64 bit+nodejs+vscode 3积分可下啦啦啦啦啦
主要介绍了nodejs实现遍历文件夹并统计文件大小,下面使用nodejs的遍历文件夹文件内容,并且读取所有的文件,并采取排序往大到小的顺序进行输出,需要的朋友可以参考下
基于nodejs程序,读取本地指定目录,生成可预览的树状目录,操作简单,小巧灵活。
保姆级教程:VsCode调试docker中的NodeJS程序.doc
nodejs-vscode-调试 使用VS Code远程调试您的Node.js Web应用程序
NodeJs实现读取目录文件(node dir_new list),以及文件批量生成(node dir_new)
一个用NodeJS实现的Ftp Servce
title: nodejs递归读取所有文件- 技术nodejs递归读取所有文件var path = require('path');function readF
vscode-debug-nodejs-es6, 如何使用VSCode调试 ES6 NodeJS vscode-debug-nodejs-es6如何使用VSCode调试 ES6 NodeJS 先决条件VSCode: http://code.visualstudio.com/NodeJS: https://nodejs.o
最近用到了需要显示树形结构,经过几个小时的瞎整,做出了个示例,从查询数据到显示,包括CRUD
使用nodejs下载网站中的图片,nodejs爬图
主要介绍了nodejs实现获取本地文件夹下图片信息功能,涉及node.js针对文件、目录的遍历、读取等相关操作技巧,需要的朋友可以参考下
主要介绍了nodejs简单读写excel内容的方法,简单分析了nodejs常见的读写Excel模块,并结合实例形式分析了nodejs读写Excel具体操作技巧,需要的朋友可以参考下
1.项目代码功能经验证ok,确保稳定可靠运行。欢迎下载使用! 2.主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 3.项目...
优秀实用的 VS Code 插件集合
NodeJs实现水仙花数,模块化
nodejs实现自定义dns域名解析服务器,可以通过配置test.js修改域名解析到指定的ip地址。 启动命令:npm start
主要为大家详细介绍了nodejs实现大文件的读取,比如在线视频,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
vscode-id: 此Visual Studio Code扩展是为Node-js项目构建的。 它提供: MongoDB连接和查询的代码段。 命令面板功能设置样板代码。 猫鼬模型的完成建议。 直接从编辑器连接Mongo Connect 。 目录: 产品特点 ...
在Node.js中,要实现目录文件夹的循环递归复制也非常简单,使用fs模块即可,仅需几行,而且性能也不错,我们先来实现文件的复制,需要的朋友可以参考下