最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

删除(取消链接)与正则表达式匹配的文件

运维笔记admin9浏览0评论

删除(取消链接)与正则表达式匹配的文件

删除(取消链接)与正则表达式匹配的文件

我想删除目录中的几个文件,匹配正则表达式。像这样的东西:

// WARNING: not real code
require('fs').unlink(/script\.\d+\.js$/);

由于unlink不支持正则表达式,我使用它代替:

var fs = require('fs');

fs.readdir('.', (error, files) => {
    if (error) throw error;

    files.filter(name => /script\.\d+\.js$/.test(name)).forEach(fs.unlink);
});

这是有效的,但IMO比它应该更复杂。


是否有更好的内置方法来删除与正则表达式匹配的文件(甚至只是使用通配符)?

回答如下:

你可以看看glob https://npmjs/package/glob

require("glob").glob("*.txt", function (er, files) { ... });
//or
files = require("glob").globSync("*.txt");

glob内部使用minimatch。它的工作原理是将glob表达式转换为JavaScript RegExp对象。 https://github/isaacs/minimatch

您可以使用回调中匹配的文件执行任何操作(或者在globSync的情况下返回对象)。

发布评论

评论列表(0)

  1. 暂无评论