1

当我尝试使用模式末尾的 I 选项执行不区分大小写的 S&R 时s/find-word/replace-word/Ig,我收到命令出现乱码的错误。如果我在没有 I 的情况下运行它,则完全相同,即s/find-word/replace-word/g. 我正在使用 Solaris 5.10,我们的 sed 是否可能是旧的并且不支持我?

谢谢

4

2 回答 2

9

我建议使用小写的 i:s/from/to/gi


编辑:好的,我和我的智能...根据http://www.unix.com/shell-programming-scripting/202109-sed-i-not-available-solaris-5-10-a.html和许多其他链接,似乎 sed 系统上的 sed 工具不支持 -i 选项......那么最好的解决方案是使用busybox,为您的系统重建GNU sed,或使用perl脚本来完成工作.

于 2012-10-02T17:56:06.307 回答
3

如果您的版本sed不支持该ignorecase标志,您可以将所有输入预先小写tr

<infile tr 'A-Z' 'a-z' | sed ...
于 2012-10-02T19:21:23.160 回答