Увеличенный пользовательский интерфейс в Firefox (не -дисплей с высоким разрешением)

Вы можете использовать perl для замены всех элементов управления C0 на шестнадцатеричные escape-последовательности:

perl -pe 's/([\x01-\x1f])/sprintf("\\u%04x", ord($1))/eg' < test.json

Это

  1. Запускает программу в цикле, выводя результат в конце в стиле sed -(perl -pe)
  2. Соответствует каждому байту в диапазоне 01 -1f(s/([\x01-\x1f])/...g)
  3. Вычисляет порядковый номер байта(ord($1))
  4. Заменяет совпадающий байт результатомsprintf("\\u%04x", ord($1))(/e)

Это вставит \u0001, \u0002,..., \u001fвместо совпадающих байтов.

Это будет экранировать все символы новой строки таким же образом, поэтому, если в файле есть разрывы строк без кавычек, он будет (разрываться, в частности, текстовый файл будет иметь по крайней мере завершающий символ новой строки, но это может удаляться механически либо до, либо после ). В этом случае [\x01-\x09\x0b-\x1f]пропустит его, но не удастся, если есть истинные разрывы строк внутри кавычек.

Если в вашем файле есть разрывы строк как в кавычках, так и без кавычек, такая бесконтекстная замена не работает. Вам понадобится либеральный синтаксический анализатор JSON, который принимает файл как -, чтобы знать, какие из них нужно экранировать, а какие нет. Я не уверен в -раздаче.

0
07.10.2020, 18:18
1 ответ

Наконец-то я сам разобрался.

Загрузка моей системы в режиме восстановления и удаление файла /home/<myUser>/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xmlвернули пользовательский интерфейс Firefox в состояние по умолчанию после обычной перезагрузки.

РЕДАКТИРОВАТЬ :Оказывается, проблема была в шрифте, который я установил, его изменение решает проблему без удаления каких-либо файлов.

0
18.03.2021, 22:59

Теги

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