Com o GNU grep
, desde que tenha sido criado com o suporte do PCRE :
ls -l | GREP_COLORS='mt=1;41;37' grep --color -P '^\S+\s+\K\S+'
com sed
:
on=$(tput setaf 7; tput setab 1; tput bold) off=$(tput sgr0)
ls -l | sed "s/[^[:blank:]]\{1,\}/$on&$off/2"
Note que usar setaf
assume que o terminal suporta seqüências de escape de cor ANSI, então você também pode codificá-lo, o que tornaria menos detalhado também. Aqui com a sintaxe ksh93
(também bash
e zsh
):
on=$'\e[1;47;37m' off=$'\e[m'
Para generalizar para a coluna th :
n=5
GREP_COLORS='mt=1;41;37' grep --color -P "^(\S+\s+){$(($n-1))}\K\S+"
sed "s/[^[:blank:]]\{1,\}/$on&$off/$n"