+-
使用Unix shell脚本替换HTML中的文字

我在HTML中声明了一系列脚本,格式如下:

xxx.jfhdskfjhdskjfhdskjfjioe3874.bundle.js

句点之间的部分是动态哈希,但它始终是具有相同位置的字母数字。我的问题是我需要使用新生成的文件动态修改该哈希,这些文件与HTML本身位于同一目录中。有没有一种干净的方法在Unix中使用脚本来完成它?

0
投票

您必须更具体:您想为此目录中的所有脚本生成新的哈希值,还是只需要一个工具来逐个更改?你从哪里得到新的哈希?下面我附上简单的脚本来改变第一和第二期间标志之间的部分。应使用旧名称作为第一个参数并将新哈希作为第二个参数调用脚本。它可以压缩到一行,但为了清晰起见,我使用了变量。

#! /bin/sh
OLDNAME=$1
NEWHASH=$2
NEWNAME=$(printf "%s" "$OLDNAME" | sed "s/^\([^\.]*\)\.[^\.]*\.\(.*\)/\1\.$NEWHASH\.\2/")
echo $NEWNAME