Estou tentando pesquisar recursivamente uma string com, grep
mas recebo o seguinte:
$ grep -r "stuff" *
grep: unrecognized option '---corporate-discount.csv'
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
Como impedir que o Bash passe arquivos iniciando -
como argumento?
grep
que elas não são opções.
subprocess.Popen(['grep', '-r', '-e' 'stuff', '--corporate-discount.csv'])
em Python, sem bash em lugar nenhum.
*
de comandos. Tudo isso pode ser evitado usando-o ./*
.
--
como um sigil de fim de opções também é perfeitamente razoável; As diretrizes de sintaxe do utilitário POSIX exigem que ela seja respeitada; veja a diretriz 10. (Claro, nem todos os programas seguem as diretrizes do POSIX, mas a resposta é encadear os autores dos programas infratores e / ou expulsá-los do setor).