3
不能在UTF-8中使用`cut -c`(`--characters`)吗?
该命令cut具有一个-c处理字符的选项,而不是带有选项的字节-b。但这似乎在en_US.UTF-8区域设置中不起作用: 第二个字节给出第二个ASCII字符(在UTF-8中编码相同): $ printf 'ABC' | cut -b 2 B 但不会在UTF-8语言环境中给出三个希腊非ASCII字符中的第二个: $ printf 'αβγ' | cut -b 2 � 没关系-这是第二个字节。 因此,我们改为看第二个字符: $ printf 'αβγ' | cut -c 2 � 看起来坏了。 通过一些实验,结果表明范围3-4显示了第二个字符: $ printf 'αβγ' | cut -c 3-4 β 但这与字节3到4相同: $ printf 'αβγ' | cut -b 3-4 β 因此,对于UTF-8,-c最多不会超过-b。 我希望语言环境设置不适用于UTF-8,但是相比之下,它wc可以按预期工作; …