grep -F '-ref.alleles'
é equivalente a:
grep -F -ref.alleles
(nenhum dos caracteres entre os apóstrofos são metacaracteres de shell, então citá-los não tem efeito.)
Por sua vez, isto é equivalente a:
grep -F -r -e f.alleles
pela análise normal das opções -
prefixadas. A opção -e
aceita um argumento, mas -F
e -r
não.
Como você não especificou nenhum arquivo para o grep, o comportamento padrão é agir no stdin ... exceto que a opção -r
não faz sentido, então o padrão é pesquisar .
(o diretório atual) de forma recursiva e ignora stdin. Em algumas versões.
Você precisa usar o indicador --
"não mais opções" antes de um regexp que comece com -
como em
grep -F -- -ref.alleles
Eu rastreei o ponto em que o comportamento de -r
sem argumentos de arquivo foi alterado. Foi na versão 2.11, lançada em 2 de março de 2012. Veja o anúncio de lançamento.
Os commits que afetaram o comportamento são este e < a href="http://git.savannah.gnu.org/cgit/grep.git/commit/?id=d1d7245219bc56e6a4f25c18d6f8f4b4b9bb42d6"> este .
Se você executar grep --version
em suas duas máquinas, tenho certeza que você descobrirá que uma delas está no lado errado de 2.11