usando grep --perl-regexp

1

este é um exemplo de saída de ls

$ ls -lAF
-rw-------  1 martin martin  168 Jan 25 23:26 aaa
-rw-------  1 martin martin  168 Jan 25 23:26 bbb
-rw-------  1 martin martin  168 Jan 25 23:26 ccc

Gostaria de colorir as entradas user e group . No entanto, minha sintaxe apenas colore user , mas não a group :

ls -lAF | grep --color -P '^\S+\s+\S+\s+\K\S+'

Eu não entendo exatamente o que o \K significa. Como eu poderia combinar os dois martin martin no meu exemplo de saída?

    
por Martin Vegter 27.01.2014 / 23:23

1 resposta

3

\K marca o início da região para colorir.

Veja man pcrepattern para detalhes.

The escape sequence \K causes any previously matched characters not to be included in the final matched sequence.

Isso significa que você precisa:

ls -lAF | grep --color -P '^\S+\s+\S+\s+\K\S+\s+\S+'
    
por 27.01.2014 / 23:35