Bash - цветовой код ANSI для фиолетового фона с жирным черным текстом

Вот для чего нужен col -b:

$ printf 'a\bb\n' | col -b | od -tc
0000000   b  \n
0000002

$ printf 'aaa\b\b\bbb\n' | col -b | od -tc
0000000   b   b   a  \n
0000004

Эквивалент sed будет выглядеть следующим образом:

bs=$(printf '\b')
sed "s/^[^$bs]*/&\
\
/;:1
s/\n.\{0,1\}\(.*\n\)\([^$bs]\)/\2\
\1/;s/\(.\{0,1\}\)\n\(.*\n\)$bs/\
\1\2/;t1
s/\n//g"

Со времен настоящих телетайпных пишущих машинок (tty), последовательность x\bx иногда встречается для представления жирного x (x, набранного поверх самого себя), x\b_ или _\bx для подчеркнутого x (), и x\b- или -\bx для зачеркивания ().

Другой полезной командой для работы с ними является команда colcrt.

$ printf '_\bfo\b_o\b_ bar b\b-a\b-z\b-\n' | colcrt
foo bar baz
---

Другой вариант - преобразовать \b_ и \b- в комбинированные символы Unicode U+0332 и U+0336:

Предполагая локаль Unicode и zsh, ksh93 или bash:

$ printf 'f\b_o\b_o\b_ bar b\b-a\b-z\b-\n' | sed $'s/\b_/\u0332/g;s/\b-/\u0336/g'
f̲o̲o̲ bar b̶a̶z̶

(передайте в colcrt или col -b для обработки x\bx полужирного).

2
06.05.2019, 03:50
1 ответ

Выяснилось, что /etc/server.cifs — это текстовые файлы, содержащие многочисленные сведения о серверах\общих ресурсах и монтировании

    /- /etc/server.cifs --timeout=400 --ghost
    /- /etc/server2.cifs --timeout=400 --ghost
    /- /etc/server3.cifs --timeout=400 --ghost
    /- /etc/server4-vn01.cifs --timeout=400 --ghost
0
27.01.2020, 22:26

Теги

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