Как я могу отсортировать вывод awk, игнорируя определенный символ?
Я пытаюсь распечатать китайский шрифт, который есть на моем ноутбуке, и отсортировать вывод по названию, которое можно было бы найти в LaTeX
, Это можно сделать с помощью следующей команды:
fc-list :lang=zh-cn | awk -F": " '{$1=""; print}' | sort
Находит список шрифтов, затем после первого появления :
и один пробел, в котором отображаются названия шрифта. Тогда мы, конечно, сортируем это.
Проблема здесь в том, что есть шрифты, названные как .PingFang SC
, который сортируется на самый фронт и не так согласуется с остальными. Есть ли способ сортировки без учета периода?
Возможно, не удастся удалить точку, которая изменит фактическое имя шрифта и, таким образом, затруднит ссылку.
1 ответ
Решение
Попробуйте использовать sort -d
("Порядок словаря", который, кажется, игнорирует не-буквенные символы):
$ printf "Orange\n.PingFang\nRed\n" | sort
.PingFang
Orange
Red
$ printf "Orange\n.PingFang\nRed\n" | sort -d
Orange
.PingFang
Red