2
我試圖在機器上使用grep,但它只是不工作。當我在管道後使用它時(例如ps -aux | grep grep
),它可以工作(在示例中顯示grep進程)。grep推出「S +」狀態
但我想對搜索詞到文件中,但它只是在S +()狀態,不管啓動,如果我寫「grep anything
」,「grep -Ril anything
」等
我試圖在機器上使用grep,但它只是不工作。當我在管道後使用它時(例如ps -aux | grep grep
),它可以工作(在示例中顯示grep進程)。grep推出「S +」狀態
但我想對搜索詞到文件中,但它只是在S +()狀態,不管啓動,如果我寫「grep anything
」,「grep -Ril anything
」等
從手冊頁:
的grep搜索命名的輸入文件(或者,如果沒有文件被命名爲標準輸入...
所以,當你運行grep anything
,grep
正在等待標準輸入。你需要給它任何文件命令行上的名稱或通過stdin
輸入。
嗯,這工作「部分」,以前我還記得其他機器,我不得不使用其他命令(不記得哪個)這種方式。因此,爲了在文件夾中查找我需要指定文件夾,但在其他機器中,我通常可以啓動「grep anything」,並在當前路徑中搜索任何內容。爲什麼區別? 拒絕在當前文件夾中搜索的機器是CentOS 5.6。目前正在運行的另一臺機器正在運行CentOS 7.2.1511。也許這只是grep版本?也許SO喜好? – Phazoner
它絕對可能是grep版本的差異。我從grep版本2.27的手冊中看到:如果沒有指定輸入,grep將搜索工作目錄。如果給定了一個指定遞歸的命令行選項;否則,grep搜索標準輸入。所以你不能在新版本上「grep任何東西」,據此,你可以「grep -r任何東西」。這是否符合你的經驗? –