Как преобразовать LS _COLORS для Linux в LSCOLORS для BSD?

Да, sed поддерживает такие диапазоны адресов:

sed -n '/string1/,/string2/p file

В вашем случае попробуйте использовать опцию -Eдля расширенных регулярных выражений.

sed -nE '/this/,/^[^ ]/p' filename
1
23.11.2020, 11:54
1 ответ

Ссылка на справочную страницу :

           a     black
           b     red
           c     green
           d     brown
           e     blue
           f     magenta
           g     cyan
           h     light grey
           A     bold black, usually shows up as dark grey
           B     bold red
           C     bold green
           D     bold brown, usually shows up as yellow
           E     bold blue
           F     bold magenta
           G     bold cyan
           H     bold light grey; looks like bright white
           x     default foreground or background

запрошенный pi=40;33— эточерныйфон икоричневыйпередний план. Это представлено в LSCOLORSпаройad:

           a     black
           d     brown

В LSCOLORSнет точки с запятой. Эти точки с запятой в LS_COLORSиспользуются в качестве разделителей параметров -в escape-последовательностях, используемых для установки цветов (с несколькими жестко -закодированными предположениями ). Два -цифровых значения для цветов используются в SGR (выбора графического представления)управляющей последовательности .

Что касается поведения генератора , это файл JavaScript, содержащий этот фрагмент:

// Linux LS_COLORS has different codes for foreground/background colors :/
if (i % 2 === 0) {
  // If bold, add bold thingy
  if (color === color.toUpperCase()) {
    linuxColorString += "1;";
    color = color.toLowerCase();
  }

Очевидно, что это предназначено для консоли Linux (сопоставление A -H с полужирным формой -h ), но будет работать с некоторыми другими терминалами, такими как xterm, описано в ресурсе boldColors

   boldColors (class ColorMode)
           Specifies whether to combine bold attribute with colors like
           the IBM PC, i.e., map colors 0 through 7 to colors 8 through
           15.  These normally are the brighter versions of the first 8
           colors, hence bold.  The default is "true".

Однако (упущено из виду в console_codes(4), текущем и более раннем ), консоль Linux предоставила способ установить 16 цветов для переднего плана (с использованием жирного шрифта, «1» в SGR )и фон (с использованием мерцания, т. е. «5» ). Описание терминалаlinux-16colorиспользует эту функцию. GNU ls не использует терминальные описания; как и этот генератор. Но генератор предполагает, что полужирный сделает более яркие версии (кодов 8 -15 )из цветов ANSI (0 -7 ).

0
18.03.2021, 22:47

Теги

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