Когда я выполняю grep
из gnome-терминала, я получаю цветной вывод - легко заметное совпадение, номера строк (-n) с разными цветами и т. Д.
Но когда я выполняю в точности то же самое grep
команда через скрипт bash Я получаю вывод плоскости без окраски
Есть ли способ получить цветной вывод, используя скрипт bash?
Использование опции --color
работает, когда я запускаю grep внутри сценариев оболочки.
Вот пример того, что вы хотите.
grep -n --color=auto "PATTERN" FILE
Вот небольшой скрипт, который поможет вам понять, как 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]
Вы пытались добавить этот псевдоним в свой ~/.bashrc
?
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'