Regex para encontrar arquivos com determinado número de sublinhados

1

Eu tenho dois arquivos:

AAAAA_AAAA_BBBBBBBB_SSSSSS
AAAAA_BBBBBBBB_SSSSSS

Eu quero que apenas o arquivo com dois sublinhados seja exibido.

Eu usei:

ls -1 ^?*_?*_?*$

Eu tenho:

ls: ?*_?*_?*$: No such file or directory

Por quê? E o que pode ser uma solução?

    
por Josef Klimuk 11.01.2018 / 06:26

1 resposta

2

Você misturou shell globs e sintaxe de expressão regular - e inventa algo que não é válido em nenhum dos dois.

Se você quiser usar uma ferramenta baseada em regex, tente find , por exemplo,

find . -maxdepth 1 -regex '^[^_]*_[^_]*_[^_]*$'
    
por steeldriver 11.01.2018 / 06:51