2
在最近的question有人指出,在OSX上運行sed在非ascii文件上給出了奇怪的結果。例如,如果你這樣做(在/ usr/bin中/ CAL是一個隨機二進制文件)LANG和sed在OSX
sed 's/[^A-Z]//' /usr/bin/cal
sed
將刪除所有比A-Z以外的可打印字符,但很多非打印字符依然存在。但是,如果你做
LANG='' sed 's/[^A-Z]//' /usr/bin/cal
只輸出A-Z(和換行符)。爲什麼?
正常LANG=en-US.UTF-8
這是怎麼回事?反正我看不出sed的輸出可以在UTF-8中被認爲是正確的。它是破碎的,還是有一些我不明白的工作概念?
我知道OSX sed符合POSIX,因此與心愛的GNU sed不同。