У меня есть переменная "x", которая содержит два столбца и две строки.Я хотел напечатать «привет» красным цветом, поэтому я воспользовался tput
, который напечатал результат красным.Но мне также нужно было напечатать столбцы в правильном выравнивании, для этого я использовал column -t
, но это искажает вывод.Это было связано с тем, что некоторые контрольные символы добавляются tput.
x="hello $(tput setaf 1)hi $(tput sgr0) whatsup
hey howdy cya"
echo "$x"
hello hi whatsup
hey howdy cya
echo "$x"|column -t
hello hi whatsup
hey howdy cya
Я ожидал:
hello hi whatsup
hey howdy cya
Попытался отладить, обнаружил, что tput добавляет некоторые контрольные символы, чтобы "hi" печатал красным.
echo "$x"|cat -A
hello ^[[31mhi ^[(B^[[m whatsup$
hey howdy cya$
Вопрос:
Как "column -t
" на цветной вывод из tput?
РЕДАКТИРОВАТЬ: Результат (ВСЕ В КРАСНОМ) от @Diego Torres Milano
hello 31mhi Bm whatsup
hey howdy cya