如何在Mac上的Unicode字符上拆分Sed?

时间:2012-01-31 15:24:37

标签: macos 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 one liner作为:

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

得到我:

this is meh

所以,到目前为止我的结论是因为某种原因,Mac上的sed讨厌unicode。任何人有任何想法为什么/如何解决它?

1 个答案:

答案 0 :(得分:2)

使用MacPortsgsed中的GNU sed。

编辑:GNU sed的文档为here