Ubuntu 排序命令,不适用于不同的编码
Ubuntu Sort Command, does not work with diffrent encodings
我有一份文件,我想按以下方式对其进行排序:
排序 -k1,1 -k2,2n -k4,4n
如果文件不包含 ü,ä,ö 之类的东西或它能用的东西。但是如果这样排序就不对了。
文件为 Ascii
所以在文档排序之前:它是这样的
于伯塞茨
贝多芬
书目
排序后:
贝多芬
übersetzt
书目
所以它很糟糕,实际上排序命令忽略了 ü,并认为 bersezt 在 bibliothek 之前。
你知道我该如何处理吗?
提前致谢
我找到了如何处理 ü,ö,ä 等特殊字符的方法。
如果有人遇到类似问题,我是这样解决的:
sed -i -r -e 'y/äöüÄÖÜß/{|}¢µ¼¥/' path/to/file
LC_ALL=C sort -f path/to/file > path/to/file-sorted
sed -i -r -e 'y/{|}¢µ¼¥/äöüÄÖÜß/' path/to/file-sorted
我有一份文件,我想按以下方式对其进行排序: 排序 -k1,1 -k2,2n -k4,4n
如果文件不包含 ü,ä,ö 之类的东西或它能用的东西。但是如果这样排序就不对了。
文件为 Ascii
所以在文档排序之前:它是这样的
于伯塞茨 贝多芬 书目
排序后:
贝多芬 übersetzt 书目
所以它很糟糕,实际上排序命令忽略了 ü,并认为 bersezt 在 bibliothek 之前。
你知道我该如何处理吗?
提前致谢
我找到了如何处理 ü,ö,ä 等特殊字符的方法。 如果有人遇到类似问题,我是这样解决的:
sed -i -r -e 'y/äöüÄÖÜß/{|}¢µ¼¥/' path/to/file
LC_ALL=C sort -f path/to/file > path/to/file-sorted
sed -i -r -e 'y/{|}¢µ¼¥/äöüÄÖÜß/' path/to/file-sorted