我试图用递归搜索一个字符串,grep但是我得到了:
$ grep -r "stuff" *
grep: unrecognized option '---corporate-discount.csv'
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
如何防止Bash传递以-as 开头的文件?
                
                4
              
                  相关:如何删除名称以“-”开头的文件(连字符,即连字符或减号)?
                
                
                  
                    —
                    钢铁司机
                    
                  
                
              
                  您真的不想阻止Shell传递这些文件,是吗?问题是,如何
                
                  
                    —
                    DonHolgo '19 
                    
                  
                
              grep确定它们不是选项。
                
                  ...要清楚,bash不能控制将哪个结果视为选项还是作为参数;在接收程序的控制之下。例如,
                
                  
                    —
                    查尔斯·达菲,
                    
                  
                
              subprocess.Popen(['grep', '-r', '-e' 'stuff', '--corporate-discount.csv'])在Python中,您将得到相同的行为,而在任何地方都没有bash。
                
                
                
                  
                    —
                    通配符
                    
                  
                
              
            
                  @Wildcard,
                
                  
                    —
                    查尔斯·达菲
                    
                  
                
              --用作选项终止标记也是完全合理的;POSIX实用程序语法准则要求遵守它。参见准则10。(当然,并非所有程序都遵循POSIX准则,但是答案是要对违规程序的作者进行严格分类和/或将其逐出行业)。