不区分大小写的 sed - OpenWrt

不区分大小写的 sed - OpenWrt

文件中的输入将如下所示:

<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'sshgrep像这样:

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

相关内容