2013-02-07 174 views
1

鑑於例如類的「可視字符」打印字符

[:graph:] 

AKA

[\x21-\x7E] 

我怎麼能去打印這些在「排序」命令,這是爲了由LC_COLLATE決定

+0

'':':graph:]'包含像'en_US.UTF-8'這樣的語言環境中的非ASCII字符。 – user495470

回答

2

只要運行它通過排序。最難的部分是獲取角色列表。這適用於ASCII:

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

它寫出每個字符後跟一個NULL字節,然後將它們排序,所有(sort認爲LC_COLLATE),最後刪除完全無效。

+1

'((i = 0x21; ...))''好的!感謝分享。 – shellter