如何在Mac上使用Unicode字符拆分Sed



我有一个日志文档,其中要拆分列的字符串只是字符\x01(在unicode中没有映射到任何真实的字符,所以它是安全的)。当我在一个CentOS盒子上对短语"This is \x01"运行以下操作时,我得到:

cat ~/temp1 | sed s/x01/meh/
this is meh

在Mac上,我得到:

cat ~/temp1 | sed s/x01/meh/
this is  

这和试图模仿原作是一样的。

或者,在Mac上运行Perl一行代码作为:

cat ~/temp1 | perl -e 'while ( my $line = <>) {$line =~ s/x01/meh/g; print $line;}'

得到我:

this is meh

到目前为止,我的结论是Mac上的sed出于某种原因讨厌unicode。有人知道为什么/如何修理它吗?

使用MacPorts包gsed中的GNU sed。

编辑:GNU sed文档在这里。

最新更新