使用sed将分析代码插入大多数html文件

时间:2015-05-10 20:10:31

标签: html bash sed google-analytics

我有很多静态html文件(超过一千个)没有Google Analytics代码。

我的挑战是,并非所有的html文件都没有Google Analytics代码。这是应添加Google Analytics代码的文件的文件夹结构:

user/[user ID]/sites/[site ID]/

这些文件夹中有多个html文件。我不能简单地在所有html文件上使用sed,因为同一“users”文件夹中的后续文件已经有了Google Analytics代码:

user/[user ID]/editor/index.html

此外,我的html文件以一行结尾。

如何在此之前添加js代码(即Google Analytics)并从流程中排除所有user/[user ID]/editor/index.html个文件?

1 个答案:

答案 0 :(得分:4)

使用find并排除正确的文件。

find . -type f -regextype sed -regex '.*users/[0-9]*/sites/[0-9]*/.*html' -exec sed -i 's/pattern/replace/g' "{}" \;

您始终可以从该查找中排除文件,例如文件.*/sites/.*/index.html

find . -type f -regextype sed -regex '.*users/[0-9]*/sites/[0-9]*/.*html' -not -name "*index.html" -exec sed -i 's/pattern/replace/g' "{}" \;