grep不工作在centos上的特定文件夹?

grep命令有点奇怪。 当我在邮件文件夹中时,它总是生成帮助文本。 起初,我以为我错了synxtax,但它正在处理其父文件夹。 可能是什么原因? TIA!

[xx]$ grep "abc" *.out grep: invalid option -- '-' Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. [xx]$ cd .. [xx]$ grep "abc" mail/*.out mail/0940-cron-mail.out:News 3598...h...N 

在该目录中有一个以字符“ – ”开头的文件。

当你在目录下grep时,*会展开所有的文件名,而grep将会解释带有前导的那个 – 作为一个选项,并且不能parsing它。

当你的grep包含目录path时,*仍然扩展文件名,但是现在 – 位于path+文件名的中间,所以不会被解释为命令行选项