Выбор частей читаемого файла с помощью cut или awk

Ну, нашел.

После долгих исследований я узнал, что на самом деле был довольно близок. Проблема в том, что раскладки клавиатуры для США на самом деле не имеют уровня -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в соответствующих разделах теперь у меня есть обе клавиатуры, работающие так, как я описал в начале своего вопроса.

0
19.10.2020, 23:22
1 ответ

Ваши данные представлены в формате, разделенном запятыми -значение (CSV ).

Пока ваш CSV-файл является «простым», то есть ни одно из полей, разделенных запятыми -, не содержит строк с запятыми, а имя всегда находится в поле 4, как следует из вашего примера ввода, следующий awkскрипт который использует ,в качестве разделителя полей:

awk -F',' '{print $4}' file.txt

Если значения поля могут содержать ,(, например. если назвать его John Liam Anderson, jr.), этот наивный подход больше не работает. Это усугубляется тем фактом, что не существует «окончательного» стандарта, определяющего формат CSV (, хотя программное обеспечение с открытым исходным кодом -, вероятно, будет придерживаться RFC4180 ), поэтому обработка такой строки зависит от того, как "поле -значение -запятые" экранированы.

1
18.03.2021, 22:56

Теги

Похожие вопросы