图像
节点标记 (限量全球正则表达式打印)
安装
用节点.js
$ npm install @apexearth/egrep --save
带有命令行的使用
$ npm install @apexearth/egrep -g
节点使用
let egrep = require('@apexearth/egrep')
let stream = egrep({
pattern: /test[1-9]/,
files: [
'test_files/file1.txt',
'test_files/',
],
recursive: true,
})
stream.on('data', data => {
console.log(data)
})
stream.on('error', err => {
console.log(err)
})
stream.on('close', () => {
console.log('closed')
})
输出 :
{ file: 'test_files/file1.txt', line: 'aaaaaaatest4aaaaaaa' }
重复使用 :
egrep({
pattern: /test[1-9]/,
files: [
'test_files/file1.txt',
'test_files/',
],
recursive: true,
objectMode: false,
}, (err, result) => {
if (err) console.log(err)
console.log(result)
})
输出 :
test_files/file1.txt:aaaaaaatest4aaaaaaa
选项
files: 文件,文件夹,或 grep 的 globs .pattern: 用于grep的图案.glob: 将文件选项视为 glob .recursive:通过文件夹递归grep.ignoreCase: 执行大小写不敏感匹配.excludes: RegExp 排除序列.objectMode设置false以接收字符串数据.fullBinaryMatches设置true以显示完整的二进制匹配.hideBinaryMatches设置true以隐藏所有二进制匹配.
命令行使用量
Usage: node-egrep [options] <pattern> <file...>
Options:
-V, --version output the version number
-r, --recursive Walk through directories recursively.
-R, --recursive Walk through directories recursively.
-g, --glob Treat file args as globs.
-i, --ignore-case Perform case insensitive matching.
-f, --file <file> Read one or more newline separated patterns from file. Empty pattern lines match every input line.
--exec <cmd> Execute a command for each match with {1}=file {2}=line
-h, --help output usage information
实例:
$ node-egrep 123 test_files/numbers
1234567890
$ node-egrep -r abc test_files
test_files/one/abc:abcdefg
test_files/one/two/letters:abc
$ node-egrep -g abc "test_files/**"
test_files/one/abc:abcdefg
test_files/one/two/letters:abc
兼容性
节点.js版本8,10和11.