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