2013-02-08 82 views
0

我想在我所有的C#文件中遞歸搜索下面的字符串。爲什麼我會發現這個錯誤?花了我很長時間來安裝CygWin,我一直使用Unix,但這不像Unix的grep。值得注意的是,我使用Cygwin作爲我的WIndows7。謝謝爲什麼cygWin grep會給出錯誤?

grep -R 'new IIntf' *.* 
grep: *.*: No such file or directory 

grep -R 'new IIntf' *.cs 
grep: *.cs: No such file or directory 
+2

你是否從Windows命令提示符調用grep?這可以解釋一些事情,因爲cmd不會擴展(glob)通配符,而unix shell會這樣做。 – fvu

+0

我應該從哪裏調用它?當我點擊Cygwin圖標時,它會將我帶到屏幕等Windows命令提示符處。我別無選擇。 – user1298925

+0

你確定這實際上是一個cmd窗口,還是它是一個bash窗口?如果提示符是c:\>它是cmd,如果在提示符中有$,它應該是bash。在cmd中,cygwin grep不會工作,它應該在bash中。 – fvu

回答

2

在當前目錄中可能沒有匹配*.*的文件。也許你的意思是grep -R 'new IIntf' .

+0

那我該如何指定我的文件擴展名? – user1298925

+0

如果你想混合遞歸子目錄搜索和文件名匹配,你可能想要類似'find。 -name「* .cs」| grep'new IIntf'。你現在可以谷歌的其他解釋,現在你知道該找什麼。 [Here](http://ubuntuforums.org/showthread.php?t=1165492)是一個鏈接。 –

+0

當然,我從鏈接頁面上的*錯誤*例子複製了該命令。嘗試'找到。 -name「* .cs」-exec grep'new IIntf'{} \;' –