mirror of
https://github.com/shelljs/shelljs.git
synced 2026-01-18 16:03:37 +00:00
cat
This commit is contained in:
parent
a348cc1257
commit
305dff0df2
25
shell.js
25
shell.js
@ -202,30 +202,7 @@ exports.test = wrap('test', _test);
|
||||
//@ Returns a string containing the given file, or a concatenated string
|
||||
//@ containing the files if more than one file is given (a new line character is
|
||||
//@ introduced between each file). Wildcard `*` accepted.
|
||||
function _cat(options, files) {
|
||||
var cat = '';
|
||||
|
||||
if (!files)
|
||||
error('no paths given');
|
||||
|
||||
if (typeof files === 'string')
|
||||
files = [].slice.call(arguments, 1);
|
||||
// if it's array leave it as it is
|
||||
|
||||
files = expand(files);
|
||||
|
||||
files.forEach(function(file) {
|
||||
if (!fs.existsSync(file))
|
||||
error('no such file or directory: ' + file);
|
||||
|
||||
cat += fs.readFileSync(file, 'utf8') + '\n';
|
||||
});
|
||||
|
||||
if (cat[cat.length-1] === '\n')
|
||||
cat = cat.substring(0, cat.length-1);
|
||||
|
||||
return ShellString(cat);
|
||||
}
|
||||
var _cat = require('./src/cat');
|
||||
exports.cat = wrap('cat', _cat);
|
||||
|
||||
//@
|
||||
|
||||
28
src/cat.js
Normal file
28
src/cat.js
Normal file
@ -0,0 +1,28 @@
|
||||
var common = require('./common');
|
||||
var fs = require('fs');
|
||||
|
||||
function _cat(options, files) {
|
||||
var cat = '';
|
||||
|
||||
if (!files)
|
||||
common.error('no paths given');
|
||||
|
||||
if (typeof files === 'string')
|
||||
files = [].slice.call(arguments, 1);
|
||||
// if it's array leave it as it is
|
||||
|
||||
files = common.expand(files);
|
||||
|
||||
files.forEach(function(file) {
|
||||
if (!fs.existsSync(file))
|
||||
common.error('no such file or directory: ' + file);
|
||||
|
||||
cat += fs.readFileSync(file, 'utf8') + '\n';
|
||||
});
|
||||
|
||||
if (cat[cat.length-1] === '\n')
|
||||
cat = cat.substring(0, cat.length-1);
|
||||
|
||||
return common.ShellString(cat);
|
||||
}
|
||||
module.exports = _cat;
|
||||
Loading…
x
Reference in New Issue
Block a user