在shell指令碼中find 和 grep 同樣都是搜尋命令。
find 命令用於在系統中搜尋符合條件的檔名,如果需要模糊查詢,則使用萬用字元進行匹配。搜尋時檔名是完全匹配的。
例如:[root@localhost ~]# touch abc
#建立檔案abc
[root@localhost ~]# touch abcd
#建立檔案abcd
[root@localhost ~]# find. -name 「abc」
./abc
#搜尋檔名是abc的檔案,只會找到abc檔案,而不會找到abcd檔案
#雖然abcd檔名中包含abc,但是find是完全匹配的,只有和要搜尋的資料完全一樣,才能找到。
完全匹配的意思就是:如果想要找到 abcd 檔案,就必須依靠萬用字元,如 find -name 「abc*」。搜尋的內容必須和原始檔案一模一樣,才能被搜尋到。find 命令是可以通過 -regex 選項識別正規表示式規則的,也就是說,find 命令可以按照正規表示式規則匹配,而正規表示式是模糊匹配。
grep 命令用於在檔案中搜尋符合條件的字串,如果需要模糊查詢,則使用正規表示式進行匹配。搜尋時字串是包含匹配的。
grep 命令和 find 命令不一樣,使用 grep 命令在檔案中查詢符合條件的字串時,只要搜尋的內容包含在資料行中,就會列出整行內容。
例如:[root@localhost ~]# echo abc > test
#在test檔案中寫入abc資料
[root@localhost ~]# echo abed >> test
#在test檔案中追加abcd資料
[root@localhost ~]# grep 「abc」 test
abcabcd
#grep命令查詢時,只要資料行中包含abc,就會列出
#所以abc和abcd都可以查詢到
shell指令碼 find命令
find命令用於查詢,功能很強大,格式如下 find pathname options print exec ok pathname find命令所查詢的目錄路徑。例如用.來表示當前目錄,用 來表示系統根目錄。print find命令將匹配的檔案輸出到標準輸出。exec find命令對匹配的檔案執行...
shell指令碼之find
find pathname options print exec ok 引數pathname find命令所查詢的目錄路徑。例如用.來表示當前目錄,用 來表示系統根目錄。print find命令將匹配的檔案輸出到標準輸出。exec find命令對匹配的檔案執行該引數所給出的shell命令。相應命令的...
Shell指令碼四 find
3 使用exec或ok來執行shell命令 4 find命令結合exec,ok的例子 5 find命令結合xargs的例子 find pathname options print exec ok 引數說明 pathname find命令所查詢的目錄路徑。例如用.來表示當前目錄,用 來表示系統根目錄,...