Как запустить Tidy-html5 (он же HTML Tidy) рекурсивно для всех html-файлов?

Я хочу запустить HTML Tidy (он же tidy-html5) рекурсивно для всех html-файлов, включая в подкаталогах. Хотя tidy -mq ./src/*.html работает со всеми html-файлами в каталоге src, он не работает с подкаталогами.

Моя структура каталогов HTML выглядит так, и каждый каталог содержит несколько файлов html:

└── src/
    ├── 2017-12-01-post1/*.html
    ├── 2017-12-15-post2/*.html
    ├── 2018-01-03-post3/*.html
    ├── 2018-04-01-post4/*.html
    └── ... (more dir)

Можно ли сделать что-то вроде tidy -mq ./src/**/*.html? (Похоже на то, как работает Prettier)


person Daniel Kim    schedule 23.04.2018    source источник


Ответы (1)


Я остановился на использовании команды find (Linux, Mac, *nix, BSD) следующим образом:

find . -name '*.html' -type f -print -exec tidy -mq '{}' \;

Это будет рекурсивно искать в каталогах все файлы HTML и выполнять для них tidy.

В качестве альтернативы в Bash используйте shopt -s globstar:

shopt -s globstar
tidy -mq **/*.html

В ZSH он просто работает без каких-либо других настроек:

tidy -mq **/*.html
person Daniel Kim    schedule 01.05.2018