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

标签 html bash sed google-analytics

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

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

用户/[用户 ID]/sites/[站点 ID]/

这些文件夹中有多个 html 文件。我不能简单地对所有 html 文件使用 sed,因为同一“用户”文件夹中的以下文件已经具有 Analytics js 代码:

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

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

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

最佳答案

使用查找并排除正确的文件。

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' "{}" \;

关于html - 使用 sed 将分析代码插入到大多数 html 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30156157/

相关文章:

html - 如何修复 IE 10 中不匹配的结束标记错误

linux - awk '/a/{print $4 "\t"$3} abc.txt 是什么意思?

string - 替换文件中字符串的命令

javascript - 如何使用 Javascript 删除某一行时更新表

html - 将文件上传选择限制为特定类型

jquery - 如何使用 jQuery 计算选项标签的数量?

linux - 在使用 --files-from 复制期间使用 rsync 重命名文件?

java - 如何通过子 Java 进程访问的 Bash 设置系统属性

node.js - AWK 命令在 Nodejs 内失败

bash - awk gensub 函数使用问题