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

时间:2018-04-23 19:37:00

标签: tidy htmltidy

我想在所有html文件(包括子目录中的文件)上递归运行HTML Tidy(也就是tidy-html5)。虽然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的工作方式类似)

1 个答案:

答案 0 :(得分: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