我正在寻找一个 sed 脚本,当文件内容中某个字符串后面没有字符串时,用该脚本替换该字符串。
目前我正处于这种方法
sed -i -E "s/${filehash}(?!.de)/${filehash}.de/g" "index.html";
脚本应该将 filehash 替换为文件哈希.de 时(如果其后没有 .de)。
目前脚本失败,原因如下:
sed: -e expression #1, char 55: Invalid preceding regular expression
我正在 Ubuntu 上尝试这个。
答案1
不支持前瞻正则表达式语法 Sed 正则表达式语法。
我看不出在上面的语法中写“not regexp”的方法,因此您可能需要将其分解为几个操作:
filehash.de
到whatever
filehash
到filehash.de
whatever
到filehash.de