当我尝试使用模式末尾的 I 选项执行不区分大小写的 S&R 时s/find-word/replace-word/Ig
,我收到命令出现乱码的错误。如果我在没有 I 的情况下运行它,则完全相同,即s/find-word/replace-word/g
. 我正在使用 Solaris 5.10,我们的 sed 是否可能是旧的并且不支持我?
谢谢
我建议使用小写的 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脚本来完成工作.
如果您的版本sed
不支持该ignorecase
标志,您可以将所有输入预先小写tr
:
<infile tr 'A-Z' 'a-z' | sed ...