按归类顺序打印字符

时间:2013-02-07 16:57:20

标签: bash

例如,给出“可见字符”类

[:graph:]

AKA

[\x21-\x7E]

我怎样才能以“整理”顺序打印那些,即由LC_COLLATE确定的顺序

1 个答案:

答案 0 :(得分:2)

通过排序运行它。最难的部分是获取一个字符列表。这适用于ASCII:

for ((i=0x21; i<=0x7E; i++))
do 
    printf "\\$(printf '%03o' $i)\0"; 
done | sort -z | tr -d '\0'

写出每个字符后跟一个NUL字节,然后对它们进行排序(sort认为是LC_COLLATE),最后删除NUL。