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 '^[^_]*_[^_]*_[^_]*$'
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?
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 '^[^_]*_[^_]*_[^_]*$'