将维基文本转换为纯文本的最简单方法

Easiest way to convert wikitext to plaintext

我有一个 wikitext 文件列表(所有 .txt),每个文件都有 wikitext 标记,我想要每个文件对应的纯文本版本,我尝试使用 https://github.com/spencermountain/wtf_wikipedia,它确实单独工作对于一篇文章,但是在遍历文件夹中的所有 .txt 文件时出现以下错误,我很难调试它。

错误:

/home/saurabh/node_modules/wtf_wikipedia/src/index.js:27 let arr = Object.keys(data.sections).map(k => { ^

TypeError: Cannot convert undefined or null to object at Function.keys () at Object.plaintext (/home/saurabh/node_modules/wtf_wikipedia/src/index.js:27:20) at /home/saurabh/Desktop/comprehension_burden/wikipedia_w2v/wiki_xml_to_jsonv4.js:71:32 at Array.forEach () at Object. (/home/saurabh/Desktop/comprehension_burden/wikipedia_w2v/wiki_xml_to_jsonv4.js:62:7) at Module._compile (module.js:573:30) at Object.Module._extensions..js (module.js:584:10) at Module.load (module.js:507:32) at tryModuleLoad (module.js:470:12) at Function.Module._load (module.js:462:3)

代码如下:https://gist.github.com/saurabhvyas/1b719f027984ea33864a15fd58bf1b9f

文件数量巨大,所以我正在寻找时间复杂度最低的解决方案

我会推荐 pandoc,它可以将 wikitext 转换为纯文本(以及许多其他格式)。

你会这样做:

for F in *.wikitext; do
    pandoc -f mediawiki -o "$F.txt" "$F"
done