$cat test.txt | grep --colour=auto -C 100000 an
"окрасьте" также работает. Можно также определить псевдоним, чтобы заставить grep всегда использовать опцию:
alias grep='grep --colour=auto -C 100000'
Поместите вышеупомянутое в/etc/profile.d/где-нибудь или Ваш .bashrc или что бы то ни было.
С GNU grep
если это была сборка с поддержкой PCRE:
ls -l | GREP_COLORS='mt=1;41;37' grep --color -P '^\S+\s+\K\S+'
С sed
:
on=$(tput setaf 7; tput setab 1; tput bold) off=$(tput sgr0)
ls -l | sed "s/[^[:blank:]]\{1,\}/$on&$off/2"
Отметьте то использование setaf
предполагает, что терминал поддерживает escape-последовательности цвета ANSI, таким образом, Вы могли бы также трудно кодировать его, который сделает его менее подробным также. Здесь с ksh93
(также bash
и zsh
) синтаксис:
on=$'\e[1;47;37m' off=$'\e[m'
Сделать вывод к энному столбцу:
n=5
GREP_COLORS='mt=1;41;37' grep --color -P "^(\S+\s+){$(($n-1))}\K\S+"
sed "s/[^[:blank:]]\{1,\}/$on&$off/$n"
Что-то вроде этого?
awk -v on="$(tput bold)" -v off="$(tput rmso)" '{ $2=on $2 off }; 1'
Править: используйте надлежащее tput
подкоманды.
rmso
должен отменить smso
хотя (выдающийся режим), нет bold
. На многих терминалах (tput rmso
не отменяет tput bold
).
– Stéphane Chazelas
26.05.2013, 22:48
grep -P
является фантастическим.Большое спасибо. – user1968963 26.05.2013, 22:47