blog:20240622_locale
有点想把 locale 设为 C.UTF-8
一直以来都在用 en_US.UTF-8, 但是用 sort, comm 总是怪怪的.
Linux
用 en_US, 排序会忽略符号
$ printf "a.d\na_c\nab" | sort ab a_c a.d
用 C
$ printf "a.d\na_c\nab" | sort a.d a_c ab
用 awk 排序, 不依赖 locale
$ printf "a.d\na_c\nab" | awk '{if ($0!="") {a[$0]}} END {asorti(a); for (k in a) {print a[k]}}' a.d a_c ab
FreeBSD
用 en_US
$ printf "a.d\na_c\nab" | sort a_c a.d ab
用 C
$ printf "a.d\na_c\nab" | sort a.d a_c ab
用 gawk 排序和 Linux 一样 (FreeBSD 自身的 awk 不支持 asorti)
blog/20240622_locale.txt · 最后更改: 2024/06/22 01:51 由 Hshh