Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Get needed arguemnts for running the script
- // USAGE: node search [EXT] [TEXT]
- var args = process.argv.slice(2);
- if(args[0].length == 0 && args[1].length == 0) {
- console.log("USAGE: node search [EXT] [TEXT]");
- process.exit();
- }
- ext_args = args[0];
- word_args = args[1];
- var fs = require('fs'); // include file reader module
- var path = process.cwd(); // get current path of script
- var fileList = getFiles(path, ext_args, word_args);
- console.log(fileList);
- console.log("end");
- /*
- Function that get files recursivly in a current script path
- */
- function getFiles(path, ext, word) {
- var fileList = [];
- fs.readdir(path, function(err, items) {
- for (var i=0; i<items.length; i++) {
- var currentFile = items[i];
- var itemPath = path + "\" + currentFile;
- if(fs.lstatSync(itemPath).isDirectory()) {
- return getFiles(path + '\' + currentFile, ext, word);
- } else {
- if(currentFile.endsWith(ext)) {
- fileList.push(checkString(itemPath, word));
- } else {
- }
- }
- }
- });
- return fileList;
- }
- /*
- Function that checks if the word exist in the text file
- */
- function checkString(filePath, word) {
- fs.readFile(filePath, 'utf8', function(err, data) {
- //console.log("> Checking String");
- if(err) throw err;
- if(data.indexOf(word) >= 0) {
- return filePath;
- } else {
- }
- })
- }
- // Get needed arguemnts for running the script
- // USAGE: node search [EXT] [TEXT]
- var args = process.argv.slice(2);
- if (args[0].length == 0 && args[1].length == 0) {
- console.log("USAGE: node search [EXT] [TEXT]");
- process.exit();
- }
- ext_args = args[0];
- word_args = args[1];
- var fs = require('fs'); // include file reader module
- var path = process.cwd(); // get current path of script
- getFiles(path, ext_args, word_args).then((fileList) => {
- console.log(fileList);
- console.log("end");
- });
- /*
- Function that get files recursivly in a current script path
- */
- function getFiles(path, ext, word) {
- var fileList = [];
- return new Promise((resolve, reject) => {
- fs.readdir(path, (err, items) => {
- for (var i = 0; i < items.length; i++) {
- var currentFile = items[i];
- var itemPath = path + "\" + currentFile;
- if (fs.lstatSync(itemPath).isDirectory()) {
- return getFiles(path + '\' + currentFile, ext, word);
- } else {
- if (currentFile.endsWith(ext)) {
- fileList.push(checkString(itemPath, word));
- } else {}
- }
- }
- });
- resolve(fileList);
- })
- }
- /*
- Function that checks if the word exist in the text file
- */
- function checkString(filePath, word) {
- return new Promise((resolve, reject) => {
- fs.readFile(filePath, 'utf8', (err, data) => {
- //console.log("> Checking String");
- if (err) {
- reject(err);
- }
- if (data.indexOf(word) >= 0) {
- resolve(filePath);
- }
- })
- })
- }
Add Comment
Please, Sign In to add comment