diff options
Diffstat (limited to 'node_modules/shelljs/src/tail.js')
-rw-r--r-- | node_modules/shelljs/src/tail.js | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/node_modules/shelljs/src/tail.js b/node_modules/shelljs/src/tail.js deleted file mode 100644 index e5a88055c..000000000 --- a/node_modules/shelljs/src/tail.js +++ /dev/null @@ -1,79 +0,0 @@ -var common = require('./common'); -var fs = require('fs'); - -common.register('tail', _tail, { - canReceivePipe: true, - cmdOptions: { - 'n': 'numLines', - }, -}); - -//@ -//@ ### tail([{'-n': \<num\>},] file [, file ...]) -//@ ### tail([{'-n': \<num\>},] file_array) -//@ Available options: -//@ -//@ + `-n <num>`: Show the last `<num>` lines of the files -//@ -//@ Examples: -//@ -//@ ```javascript -//@ var str = tail({'-n': 1}, 'file*.txt'); -//@ var str = tail('file1', 'file2'); -//@ var str = tail(['file1', 'file2']); // same as above -//@ ``` -//@ -//@ Read the end of a file. -function _tail(options, files) { - var tail = []; - var pipe = common.readFromPipe(); - - if (!files && !pipe) common.error('no paths given'); - - var idx = 1; - if (options.numLines === true) { - idx = 2; - options.numLines = Number(arguments[1]); - } else if (options.numLines === false) { - options.numLines = 10; - } - options.numLines = -1 * Math.abs(options.numLines); - files = [].slice.call(arguments, idx); - - if (pipe) { - files.unshift('-'); - } - - var shouldAppendNewline = false; - files.forEach(function (file) { - if (file !== '-') { - if (!fs.existsSync(file)) { - common.error('no such file or directory: ' + file, { continue: true }); - return; - } else if (fs.statSync(file).isDirectory()) { - common.error("error reading '" + file + "': Is a directory", { - continue: true, - }); - return; - } - } - - var contents = file === '-' ? pipe : fs.readFileSync(file, 'utf8'); - - var lines = contents.split('\n'); - if (lines[lines.length - 1] === '') { - lines.pop(); - shouldAppendNewline = true; - } else { - shouldAppendNewline = false; - } - - tail = tail.concat(lines.slice(options.numLines)); - }); - - if (shouldAppendNewline) { - tail.push(''); // to add a trailing newline once we join - } - return tail.join('\n'); -} -module.exports = _tail; |