Большинство окон приложений (firefox, pcmanfm, libre office и т. Д.) Позволяют изменять их размер в пикселях.
Большинство (все?) Эмуляторов терминалов позволяют изменять их размер только в символах - например, 80x24.
В моей системе XFCE (с экраном 2560x1440) у меня есть верхняя панель (меню, значки быстрого доступа, некоторые индикаторы состояния) и нижняя панель (панель задач, переключатель рабочего стола, строка состояния и т. Д.). Между этими двумя я могу разместить окно терминала шириной 192 символа и высотой 51 символ. Есть небольшая область (может быть, 4 или 5 пикселей), которая не закрывается окном терминала.
Комбинация моей настройки шрифта «Моноширинный обычный» @ 16pt и 192x51 символов требует 2513 пикселей на 1336 пикселей (так говорит xwininfo
). Горстки дополнительных пикселей недостаточно , чтобы иметь дополнительную строку (если бы она была, я бы ее использовал).
Похоже, что команда sort
может помочь.
-t, --field-separator = SEP
использовать SEP вместо перехода от непустого к пустому
-k, --key = POS1 [, POS2]
запустить ключ с POS1 ( origin 1), завершите его на POS2 (конец строки по умолчанию)
ls -lAr|sort -t . -k2
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:35 a
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:35 b
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:36 c
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:36 d
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:38 A
-rw-r--r-- 1 CRM CCRM 0 Jan 20 10:34 .a
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:36 .A
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:38 .b
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:36 .B
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:36 .C
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:36 .D
Языковой стандарт km _KH близок к тому, что вы просили, хотя и со строчными буквами перед прописными. Язык km _KH был включен в стандартную установку Centos 7. Поэтому можно предположить, что он может быть доступен в других дистрибутивах, возможно, через дополнительные пакеты в репозиториях.
Вы можете поместить это определение псевдонима в свой.bashrc:
$ alias l='LC_COLLATE=km_KH ls -lA'
$ touch a b c A B C.a.b.c.A.B.C
$ l
total 0
-rw-rw-r-- 1 g greg 0 2020-11-08 18:01.a
-rw-rw-r-- 1 g greg 0 2020-11-08 18:01.A
-rw-rw-r-- 1 g greg 0 2020-11-08 18:01.b
-rw-rw-r-- 1 g greg 0 2020-11-08 18:01.B
-rw-rw-r-- 1 g greg 0 2020-11-08 18:01.c
-rw-rw-r-- 1 g greg 0 2020-11-08 18:01.C
-rw-rw-r-- 1 g greg 0 2020-11-08 18:01 a
-rw-rw-r-- 1 g greg 0 2020-11-08 18:01 A
-rw-rw-r-- 1 g greg 0 2020-11-08 18:01 b
-rw-rw-r-- 1 g greg 0 2020-11-08 18:01 B
-rw-rw-r-- 1 g greg 0 2020-11-08 18:01 c
-rw-rw-r-- 1 g greg 0 2020-11-08 18:01 C
Локаль ar _SA также близка к тому, что вы просили, хотя файлы точек указаны последними:
-rw-rw-r-- 1 g greg 0 Nov 8 18:33 A
-rw-rw-r-- 1 g greg 0 Nov 8 18:33 a
-rw-rw-r-- 1 g greg 0 Nov 8 18:33 B
-rw-rw-r-- 1 g greg 0 Nov 8 18:33 b
-rw-rw-r-- 1 g greg 0 Nov 8 18:33 C
-rw-rw-r-- 1 g greg 0 Nov 8 18:33 c
-rw-rw-r-- 1 g greg 0 Nov 8 18:33.A
-rw-rw-r-- 1 g greg 0 Nov 8 18:33.a
-rw-rw-r-- 1 g greg 0 Nov 8 18:33.B
-rw-rw-r-- 1 g greg 0 Nov 8 18:33.b
-rw-rw-r-- 1 g greg 0 Nov 8 18:33.C
-rw-rw-r-- 1 g greg 0 Nov 8 18:33.c
Вот простой цикл, чтобы увидеть, как каждая установленная локаль сортирует текущий каталог:
for a in $(locale -a);do echo $a;LC_COLLATE=$a ls -Al;done|&less
Или вы можете использовать некоторые полезные приемы, подобные этому:Сортировка по пользовательскому шаблону
Ответ на сортировку и объединение здесь просто завораживает:http://superuser.com/questions/489275/how-to-do-custom-sorting-using-unix-sort
Или вы можете стиснуть зубы и определить свою собственную локаль, см.http://askubuntu.com/questions/653008/how-to-create-a-new-system-locale