Вставьте символы Unicode при консольном входе в систему

Можно использовать --output EXPR аргумент ack-grep для выборочной печати просто части строки. Следует иметь в виду, что ack-grep является сценарием Perl, аргументом EXPR является просто любое выражение Perl; в этом случае я использую круглые скобки в соответствии шаблона для захвата просто части строки от? к закрытию, "(я также использую обратную косую черту для заключения в кавычки regexp метасимвола'?' который Вы не сделали, хотя, возможно, как первый символ в regexp, который, могло бы оказаться, работал бы).

ack-grep -a --output '$1' '\?(parameter=.*?)"'

Отметить последнее? в regexp делает.* нежадное, так, чтобы он соответствовал до первого "а не последнего на строке.

Это генерирует выходные строки как 1:parameter=FOO-_-BAR-_-FNORD - можно подавить продвижение 1: с -h аргумент ack-grep.

3
05.03.2013, 02:38
3 ответа

Я нашел решение для своей проблемы: Если консоль находится в режиме Unicode, можно ввести символы Unicode с alt+decimal unicode точка. Например, для ü: alt+252. Это работает на меня с Debian 6 и Ubuntu 12.04.

Я не уверен, где это определяется, должна ли консоль быть запущена в режиме Unicode или нет. Некоторые ключевые слова могли бы быть kbd_mode, unicode_start и unicode_stop.

1
27.01.2020, 21:24
  • 1
    не работает на меня после изменения контурной карты в cz клавиатуре. Alt+decimal кодируют работы, поскольку я не нажимаю высокий звук.. Я пишу просто числа. Кто-то должен решить тот ад.. Не мог быть автоматизирован как на времени установки? –  Dee 17.05.2013, 20:54
  • 2
    Кажется, что по некоторым причинам необходимо использовать цифровую клавиатуру для вставки чисел. 'Нормальные' числа не работают на меня, также. –  beginner 27.05.2013, 22:00

Ответ вида: не делайте этого. Как Вы видите, это дает проблемы с различиями в клавиатуре. Я также забочусь с паролем root (иногда должен был загружаться, когда никакое отображение клавиатуры не находится в силе), так, чтобы никакие "невозможные" символы не появлялись.

0
27.01.2020, 21:24
  • 1
    я соглашаюсь, что это - прагматический выбор, но он не решает мою текущую проблему :-) Но по крайней мере я немного более мудр теперь. –  beginner 05.03.2013, 15:17

Как сказал фонбранд, вы никогда не должны использовать такие символы в пароле, который вы должны вводить в консоли ! Консоль - это последнее, что нужно сделать.

Теперь, чтобы ответить на ваш вопрос:

Во-первых, вы должны убедиться, что консоль находится в режиме utf-8, если вы хотите ввести utf-8 (в противном случае вам придется вернуться к вводу отдельных байтов utf-8 последовательности, ай!), и вам также необходимо иметь загруженный шрифт, который показывает эти символы (однако для основных латинских букв это не должно быть проблемой).

Вы можете ввести его тремя способами: * если у вас работает мышь и gpm, вы можете скопировать и вставить их (напишите сообщение приветствия входа, чтобы отображались все нужные вам символы Unicode)

  • иметь необходимые символы Unicode, доступные на клавиатуре вашей консоли (например: «U + 00FC» для строчной буквы «ü»)

  • , имеют символ dead_diaeresis (и / или любые другие необходимые мертвые клавиши) на клавиатуре консоли и определение файла композиции . обратите внимание, однако, что если он не изменился с прошлого раза, файл компоновки использует 8-битный формат, он некрасиво конвертируется в Unicode; он работает только тогда, когда результат находится в диапазоне от 0x0001 до 0x00ff (что является случаем «ü»)

Обратите внимание, однако, что шансы высоки, что правая раскладка клавиатуры уже существует; просто может быть вы загружаете не ту.

2
27.01.2020, 21:24

Теги

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