README
Install
Lib
npm install fsscanner --save
CLI
npm install fsscanner -g
Lib usage
const fsScanner = require('fsScanner');
fsScanner.scan(dir[, criterias], callback)
- dir <string>
- criterias <criteria[]>
- callback <Function>
- err <Error>
- results <string[]>
fsScanner.criteria.type(type)
- type <string>
[D|F] D - directory, F - file
const directoryTypeCriteria = fsScanner.criteria.type('F');
fsScanner.criteria.pattern(pattern)
- pattern <string>
Regular expression to test file/directory name
const patternCriteria = fsScanner.criteria.pattern('.txt');
fsScanner.criteria.minSize(size)
- size <string>
Minimum file size [B|K|M|G], skipped for directories (B - bytes, K - kilobytes, M - megabytes, G = gigabytes)
const minSizeCriteria = fsScanner.criteria.minSize('1G');
fsScanner.criteria.maxSize(size)
- size <string>
Maximum file size [B|K|M|G], skipped for directories (B - bytes, K - kilobytes, M - megabytes, G = gigabytes)
const maxSizeCriteria = fsScanner.criteria.maxSize('100M');
Example:
const fsScanner = require('fsScanner');
const criterias = [fsScanner.criteria.pattern('.js'), fsScanner.criteria.type('F'), fsScanner.criteria.minSize('1000K')];
const dir = '/Users/admin/projects';
fsScanner.scan(dir, criterias, (err, results) => {
err ? throw err : console.log(results);
});
CLI usage
Usage: fsscanner [dir] [options]
Options:
--DIR (required) base lookup directory
--TYPE (optional) [D|F] D - directory, F - file
--PATTERN (optional) regular expression to test file/directory name
--MIN-SIZE (optional) minimum file size [B|K|M|G], skipped for directories
--MAX-SIZE (optional) maximum file size [B|K|M|G], skipped for directories
(B - bytes, K - kilobytes, M - megabytes, G = gigabytes)
Parameters order is not strict.
Examples
index.js --DIR="/Users/admin/projects" --PATTERN=\.js
index.js --DIR="/Users/admin/projects" --TYPE=D
index.js --PATTERN=\.jpg --TYPE=F --MIN-SIZE=10M --DIR="/Users/admin/projects"
Output example:
admin$ fsscanner --PATTERN=\.js --TYPE=F --MIN-SIZE=100K --DIR=/Users/admin/projects/fsscanner
/Users/admin/projects/fsscanner/cli.js
/Users/admin/projects/fsscanner/criteria.js
/Users/admin/projects/fsscanner/index.js