Печатать символы в порядке сортировки

58
7

Учитывая, например, класс "видимых символов",

[:graph:]

AKA

[\x21-\x7E]

Как я могу напечатать те, которые находятся в порядке сортировки, то есть порядок, определенный LC_COLLATE

спросил(а) 2013-02-07T19:57:00+04:00 7 лет, 8 месяцев назад
1
Решение
71

Просто запустите его через сортировку. Самая сложная часть - получение списка персонажей. Это работает для ASCII:

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

Он записывает каждый символ, за которым следует байт NUL, затем сортирует их все (sort рассматривает LC_COLLATE) и, наконец, удаляет NUL.

ответил(а) 2013-02-07T20:23:00+04:00 7 лет, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема