// 将.log文件转成json,删除不必要的字段(未删干净)
const fs = require('fs');
const path = require('path');
const sourceDir = './source'; // 源文件目录路径
const targetDir = './target_directory'; // 目标文件目录路径
// 遍历指定目录下的所有文件,并执行回调函数
function traverseDir(dir, callback) {
fs.readdirSync(dir).forEach(file => {
const filePath = path.join(dir, file);
if (fs.statSync(filePath).isDirectory()) {
const subDir = path.join(targetDir, filePath.substring(sourceDir.length + 1));
if (!fs.existsSync(subDir)) {
fs.mkdirSync(subDir);
}
traverseDir(filePath, callback);
} else {
callback(filePath);
}
});
}
// 删除指定文件中符合条件的字符串
function deleteStringInFile(filePath) {
try {
let content = fs.readFileSync(filePath, 'utf8');
const regex = /2023-(.*?)content:/gs;
content = content.replace(regex, ',');
const targetFilePath = path.join(targetDir, filePath.substring(sourceDir.length + 1)) + '.json';
fs.writeFileSync(targetFilePath, content, 'utf8');
console.log(`Successfully processed file: ${filePath}`);
} catch (err) {
console.error(`Failed to process file ${filePath}: ${err.message}`);
}
}
// 遍历指定目录下的所有文件,并删除符合条件的字符串
function deleteStringInDir(dir) {
traverseDir(dir, deleteStringInFile);
}
// 示例:删除 D:\test 目录及其子目录下所有完整匹配的字符串
deleteStringInDir(sourceDir);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!