Как получить цветной вывод из скрипта bash?

Когда я выполняю grep из gnome-терминала, я получаю цветной вывод - легко заметное совпадение, номера строк (-n) с разными цветами и т. Д.

Но когда я выполняю в точности то же самое grep команда через скрипт bash Я получаю вывод плоскости без окраски

Есть ли способ получить цветной вывод, используя скрипт bash?

9
задан 30 January 2012 в 03:18

3 ответа

Использование опции --color работает, когда я запускаю grep внутри сценариев оболочки.

Вот пример того, что вы хотите.

grep -n --color=auto "PATTERN" FILE
0
ответ дан 30 January 2012 в 03:18

Вот небольшой скрипт, который поможет вам понять, как tput работает с bash

#!/bin/bash
#@auth kesavan.muthuvel
#@desc - bash with colors :)

B=`tput bold`           #BOLD
D=`tput dim`            #DIM
U=`tput sgr 0 1`        #UNDERLINE
U2=`tput smul`          #UNDERLINE2
NOU=`tput rmul`         #NO UNDERLINE
H=`tput smso`           #HIGHLIGHT
X=`tput sgr0`           #RESET
C='tput setaf '         #COLOR


for i in 0 1 2 3 4 5 6 7 ; do
        c=`$C$i` && echo $c${B}I${U}always$NOU $D love \
           ${U2}colors$NOU \& $c${H}GNU/Linux$X
done;

. Он выведет следующий вывод в таких форматах, как BOLD , UNDERLINE, Highlighting и цвета. 113]

BASH Script prints with Text formating and  COLORS

0
ответ дан 30 January 2012 в 03:18

Вы пытались добавить этот псевдоним в свой ~/.bashrc?

alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
0
ответ дан 30 January 2012 в 03:18

Другие вопросы по тегам:

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