Node.js 查找文件指定内容并添加内容:实战指南
以下是一个示例脚本,它使用 Node.js 查找指定文件中指定内容,并在指定行号后添加一些文本。
const fs = require('fs');
const readline = require('readline');
const file = 'path/to/file.txt'; // 要查找的文件路径
const searchStr = 'search text'; // 要查找的文本
const insertStr = 'insert text'; // 要插入的文本
const startLine = 5; // 要插入文本的起始行号
let lineNum = 0;
let found = false;
let rl = readline.createInterface({
input: fs.createReadStream(file),
crlfDelay: Infinity
});
rl.on('line', (line) => {
lineNum++;
if (line.includes(searchStr)) {
found = true;
console.log(`Found 'searchStr' at line ${lineNum}`);
if (lineNum >= startLine) {
// 在指定行号后添加文本
let data = fs.readFileSync(file, 'utf8');
let lines = data.split('
');
lines.splice(lineNum, 0, insertStr);
fs.writeFileSync(file, lines.join('
'));
console.log(`Inserted 'insertStr' at line ${lineNum + 1}`);
rl.close();
}
}
});
rl.on('close', () => {
if (!found) {
console.log(`'searchStr' not found in file`);
}
});
将上述代码保存为app.js文件,并在终端中运行以下命令:
node app.js
请注意,这个脚本只会在找到第一个匹配项后停止搜索,如果需要在整个文件中搜索并插入,可以将rl.close()移动到rl.on('close')的外部。
原文地址: https://www.cveoy.top/t/topic/lzja 著作权归作者所有。请勿转载和采集!