Perl vs SED在区分大小写(是SENSITIVE)搜索方面

时间:2019-06-12 13:01:19

标签: perl sed

我已成功使用以下命令将$ 1的文本参数替换为$ 2,但是,它忽略大小写。我想区分大小写。 SED可以进行区分大小写的搜索,还是应该使用perl? Perl中的命令敏感等效命令是什么?

 sed -i -e "s/$1/$2/g" "$2/index.html"

2 个答案:

答案 0 :(得分:5)

开箱即用都区分大小写。 Perl regex具有/i标志来关闭区分大小写,并且某些sed方言借用了它。但是您无需执行任何操作即可明确表示您希望案件有意义。

作为一种具有更广泛功能的更新语言,Perl更具通用性,因此您可以避免插值可能包含例如例如,切入脚本代码以支持将其作为纯数据提供。有点自相矛盾的是,一旦您使用了POSIX所详细说明的非常狭窄的核心sed功能以外的任何功能,Perl可能也是两者中更易于移植的。

答案 1 :(得分:3)

sed不应该忽略大小写。如果要进行不区分大小写的匹配,则需要在模式中指定i标志。

perl也是如此-除非另行设置,否则所有正则表达式均区分大小写。

https://linux.die.net/man/1/perlre

  

i

     

进行不区分大小写的模式匹配。

默认值区分大小写。