文件中的输入将如下所示:
<sCripT
解析如下:
sed -i "s/<script//g" SOMETHING.html
“/gi”不好,因为 OpenWrt 不知道它(busybox..):
sed: bad option in substitution expression
有谁知道我如何删除例如:
< sCripT or
"<scRiPt"
用一个 sed 吗?
另外(我真正需要的东西):我怎样才能删除包含的整行
"<sCripT" or
"<scRiPt", etc.?
答案1
我看不到使用 Busybox's 的方法sed
,但你可以使用 Busybox'ssh
并grep
像这样:
while IFS='
' read -r line; do
printf "%s\n" "$line" | grep -qi '<script' || printf "%s\n" "$line"
done <SOMETHING.html >SOMETHING.html.tmp
mv SOMETHING.html.tmp SOMETHING.html
答案2
Busybox没有吗grep -v
?
这应该通过一个简单的命令来完成这项工作:
grep -vi "<[ \t]*script" SOMETHING.html