如何指定sed
不区分大小写的正则表达式地址?
例如,
sed '/my-kw/d'
但无论如何我都想sed
删除带有 的行。my-kw
谢谢
答案1
sed '/my-kw/Id'
这将执行不区分大小写的匹配。
该开关本身是大写的,以避免与在流中插入一行i
所提供的命令混淆。sed
答案2
只需使用I
开关:
$ echo fooFOO | sed 's/o/a/Id'
faaFaa
来自sed
常问问题:
GNU sed 3.02 和 ssed 还提供了 /I 开关,用于进行不区分大小写的匹配。例如,
echo ONE TWO | sed "s/one/unos/I" # prints "unos TWO"
答案3
这可能对你有用:
sed '/[mM][yY]-[kK][wW]/d' 文件或:
sed'h;y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/;/MY-KW/d;x'文件