Ну, нашел.
После долгих исследований я узнал, что на самом деле был довольно близок. Проблема в том, что раскладки клавиатуры для США на самом деле не имеют уровня -3, включенного по умолчанию.
Я наткнулся на эту страницу , где ясно увидел lv3:ralt_switch
в разделе XkbOptions
.
Итак, теперь я изменил разделы конфигурации Xorg, чтобы они выглядели следующим образом:
Section "InputClass"
Identifier "built-in keyboard"
MatchProduct "AT Translated Set 2 keyboard"
Option "XkbLayout" "us"
Option "XkbVariant" "dvorak"
Option "XkbOptions" "esperanto:dvorak,lv3:ralt_switch"
EndSection
Section "InputClass"
Identifier "ErgoDox EZ"
MatchVendor "ZSA"
MatchProduct "ZSA Ergodox EZ"
Option "XkbLayout" "us"
Option "XkbOptions" "esperanto:qwerty,lv3:ralt_switch"
EndSection
Обратите внимание, что обе клавиатуры настроены на американскую раскладку, а внутренняя настроена на вариант дворака (, потому что, опять же, внешняя — Ergodox, и я прошил аппаратную раскладку ). Добавление lv3:ralt_switch
включает AltGr на моем правом alt. С esperanto:dvorak
и esperanto:qwerty
в соответствующих разделах теперь у меня есть обе клавиатуры, работающие так, как я описал в начале своего вопроса.
Ваши данные представлены в формате, разделенном запятыми -значение (CSV ).
Пока ваш CSV-файл является «простым», то есть ни одно из полей, разделенных запятыми -, не содержит строк с запятыми, а имя всегда находится в поле 4, как следует из вашего примера ввода, следующий awk
скрипт который использует ,
в качестве разделителя полей:
awk -F',' '{print $4}' file.txt
Если значения поля могут содержать ,
(, например. если назвать его John Liam Anderson, jr.
), этот наивный подход больше не работает. Это усугубляется тем фактом, что не существует «окончательного» стандарта, определяющего формат CSV (, хотя программное обеспечение с открытым исходным кодом -, вероятно, будет придерживаться RFC4180 ), поэтому обработка такой строки зависит от того, как "поле -значение -запятые" экранированы.