Найти все файлы HTML в наборе папок, извлечь конкретный контент HTML и сохранить содержимое в новые файлы - PullRequest
1 голос
/ 08 октября 2019

У меня есть структура папок, содержащая тысячи HTML-файлов, которые я хотел бы очистить и преобразовать в уценку с помощью pandoc, но сохранить в существующей структуре (или зеркально отобразить структуру).

В настоящее время у меня естьудалось найти все файлы HTML, используя find, передал этот контент с помощью команды cat в pup, который анализирует содержимое и просматривает тег <article> и передает содержимое в новый файл article-content.txt.

Я думал об обработке содержимого в два этапа.

  1. Извлечение тега статьи из каждого файла и сохранение в виде нового файла (или перезапись существующих файлов).
  2. Затем преобразуйте ту же структуру с помощью pandoc.

Мое понимание bash ограничено. Я понимаю, что мне, вероятно, нужно перебрать список файлов и передать путь / имена файлов в качестве переменных в новую файловую конструкцию. Но не уверен, куда идти дальше.

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

1 Ответ

0 голосов
/ 08 октября 2019

Если вы хотите выполнить аналогичное действие для каждого файла в отдельности, find имеет опции -exec и -execdir, встроенные именно для этой цели (см. man find):

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