如何在所有 html 文件上递归 运行 Tidy-html5(又名 HTML Tidy)?

How to run Tidy-html5 (aka HTML Tidy) recursively on all html files?

我想 运行 HTML Tidy(又名 tidy-html5)递归地处理所有 html 文件,包括子目录中的文件。虽然 tidy -mq ./src/*.html 适用于 src 目录中的所有 html 文件,但它不适用于子目录 运行。

我的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 的工作方式)

我决定像这样使用 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