grep:按給定的模式搜索文件內容,其中命令是:Gllobally find Regular Expression and Print的縮寫,表示全程查找正則表達式並打印。
格式:grep [option] pattern file
選項option表示命令執行中的濾通方式,常用的取值有:
例:
find /home \(-name core –o –name a.out\)-atime +3 -exec rm{}\;
此命令完成在/home目錄及子目錄中查找名為core或名為a.out文件,若找到的這些文件是在3天之內未被訪問過的,則執行刪除命令將其刪除。
-ANUM:在匹配行後繼續顯示NUM行;-BNUM:顯示匹配行前的NUM行。
-c:打印匹配的行數; -I:模式不區分大小寫。
-L:打印不含模式串的文件名;-1:僅顯示包含指定模式的文件名。
-n:顯示行號; -r:遞歸地讀取每個目錄下的所有文件。
-v:顯示所有不匹配該模式的行。
pattern是濾通過程中的匹配模式。
file是指定的進行濾通操作的文件名。
例:
%grep the tempfile/*顯示tempfile文件中包含字符串the的行*/
%grep -v the tempfile/*顯示tempfile文件中不包含字符串the的行*/
另外,grep命令有兩個變種命令:
fgrep是grep的一種固定快速形式,它只搜索字符串,不能匹配正則表達式。Egrep是grep的擴展形式,它可支持對完全正則表達式的搜索及快速查找算法。
例:
find / -name “y2k*” -print
此命令表示從根目錄開始查找以y2k開頭的文件名,並且顯示出來。
比較:whereis