script - linux find




“發現:路徑必須在表達式之前:”我如何指定一個遞歸搜索,也可以查找當前目錄中的文件? (3)

嘗試把它放在引號中 - 你正在運行到shell的通配符擴展中,所以你通過傳遞來查找的內容如下所示:

find . -name bobtest.c cattest.c snowtest.c

...導致語法錯誤。 所以試試這個:

find . -name '*test.c'

注意文件表達式的單引號 - 這些將會停止shell(bash)擴展通配符。

我很難找到在當前目錄及其子目錄中查找匹配項。

當我運行find *test.c ,它只會給我當前目錄中的匹配項。 (不在子目錄中查看)

如果我嘗試find . -name *test.c find . -name *test.c我希望得到相同的結果,但是它只給我一個子目錄中的匹配項。 當有工作目錄中應該匹配的文件時,它會給我: find: paths must precede expression: mytest.c

這個錯誤意味著什麼,以及如何從當前目錄及其子目錄中獲取匹配項?


嘗試把它放在引號中:

find . -name '*test.c'

發生了什麼事是shell將“* test.c”擴展為文件列表。 嘗試轉義星號為:

find . -name \*test.c




find