在一组文件夹中查找所有 HTML 个文件,提取特定 HTML 个内容并将内容保存到新文件

Find all HTML files in a set of folders, extract specific HTML content and save content to new files

我有一个包含数千个 HTML 文件的文件夹结构,我想使用 pandoc 清理并转换为 markdown,但保留现有结构(或镜像结构)。

我目前已经设法使用 find 找到所有 HTML 文件,使用 cat 命令将该内容传递给 pup,它解析内容并查看<article> 标签并将内容通过管道传输到名为 article-content.txt.

的新文件

我正在考虑分两个阶段处理内容。

  1. 从每个文件中提取文章标签并另存为新文件(或覆盖现有文件)。
  2. 然后用pandoc转换同样的结构

我对bash的了解有限。我知道我可能需要遍历文件列表并将路径/文件名作为变量传递到新的文件构造中。但不确定下一步要去哪里。

cat $(find . -type f -name "*.html") | pup 'article' > article-content.txt

如果您想对每个文件分别执行类似的操作,find 内置了 -exec-execdir 选项(参见 man find ):

find . -type f -name "*.html" -execdir bash -c "pup 'article' < {} > {}.md" \;