Utilizando regex para locate e grep para obter apenas pastas

0

Quando tento pesquisar usando locate e grep , algo como:

locate A-B | grep .dir

O resultado é:

.../A-B-C.dir
.../A-B-C.dir/file
.../A-B-C.dir/file1
.../A-B-D.dir
.../A-B-D.dir/file1
...

Como modificar grep ou locate para concluir a pesquisa com .dir e nada mais?

Eu tenho um sistema bastante antigo:

Secure Locate 2.7 - Released January 24, 2003

grep (GNU grep) 2.5.1

    
por XuMuK 23.03.2018 / 16:28

1 resposta

1

Se este for um sistema Linux, as chances são de que você locate suporta expressões regulares:

locate --regex 'A-B.*\.dir$'

Se não,

locate 'A-B' | grep '\.dir$'

O ponto principal é ancorar a expressão regular ao final da linha corretamente com $ .

Note que ambas as variações também encontrarão, e. /some/path/ABBA-Bootlegs/thing.dir .

    
por 23.03.2018 / 16:32