Javascript 使用Node.js删除文本文件的前15k行
我有一个大的文本日志文件(大约20MB)。我想删除前15000行左右。如何在Node.js中执行此操作?您必须要求npm软件包Javascript 使用Node.js删除文本文件的前15k行,javascript,node.js,file,text,io,Javascript,Node.js,File,Text,Io,我有一个大的文本日志文件(大约20MB)。我想删除前15000行左右。如何在Node.js中执行此操作?您必须要求npm软件包 const readline = require('readline'); const fs = require('fs'); const rl = readline.createInterface({ input: fs.createReadStream('sample.txt') }); rl.on('line', (line) => { cons
const readline = require('readline');
const fs = require('fs');
const rl = readline.createInterface({
input: fs.createReadStream('sample.txt')
});
rl.on('line', (line) => {
console.log(`Line from file: ${line}`);
//YOu can delete your line Here
});
我不建议使用NodeJS将20MB加载到内存中,但如果您知道自己在做什么,则可以按每行分割文本,然后按如下方式拼接:
const fs = require('fs');
const path = '/some/path/here';
fs.readFile(path, (err, data) => {
if(err) {
// check for error here
}
let lines = data.split('\n');
lines.splice(0, 15000); // from line 0 to 15000
let splited = lines.join('\n'); // joined it from the lines array
// Do whatever you want to do here.
fs.writeFile(path, splited, err => {
// handle error here
});
})
再说一次,这不是真正有效的,所以请您自己承担风险:)与shell一起发布。。。tail-n+15000
line=”“
?