假設您正在“/usr/src“/usr/src/Linux/Documentation““目錄中搜索字符串為“magic“的文件:
$ grep magic/usr/src/Linux/Documentation/*
sysrq.txt:*如何啟用神奇的sysrq密鑰?
sysrq.txt:*如何使用神奇的sysrq密鑰?
其中,文件“sysrp.txt”包含此字符串並討論了SysRQ的功能。
默認情況下,“grep”只搜索當前目錄。如果此目錄中有許多子目錄,“grep”將如下所示:
聲音:是壹個目錄
這可能會使“grep”的輸出難以閱讀。有兩種解決方案:
明確請求搜索子目錄:grep -r
或者忽略子目錄:grep -d skip。
當然,如果您期望大量輸出,您可以通過管道將其傳輸到“less”以讀取:
$ grep magic/usr/src/Linux/Documentation/* | less
這樣,妳可以更方便地閱讀。
需要註意的壹點是,您必須提供文件過濾方法(使用*搜索所有文件)。如果妳忘記了,‘grep’會壹直等到程序中斷。如果遇到這種情況,請按下並重試。
以下是壹些有趣的命令行參數:
Grep -i模式文件:不區分大小寫的搜索。默認值區分大小寫,
Grep -l特征碼文件:僅列出匹配的文件名。
Grep -L特征碼文件:列出不匹配的文件名,
Grep -w模式文件:僅匹配整個單詞,而不是字符串的壹部分(例如匹配“magic”而不是“magic”)。
Grep -C數字模式文件:匹配上下文分別顯示【數字】行,
grep pattern1 | pattern2 files:顯示匹配pattern 1或pattern 2的行。
grep pattern1 files | grep pattern2:顯示同時匹配pattern 1和pattern 2的行。
以下是壹些用於搜索的特殊符號:
\分別標記單詞的開頭和結尾。
例如:
Grep man *將匹配“蝙蝠俠”、“狂躁”、“男人”等。
grep‘\ grep‘\‘只匹配man,不匹配batman或manic等其他字符串。
:指行首的匹配字符串。
$‘:指行尾的匹配字符串。
如果您不習慣命令行參數,可以在圖形界面中嘗試grep,例如reXgrep。該軟件提供了諸如AND、OR、NOT等語法和漂亮的按鈕:-)。如果您只需要更清晰的輸出,請嘗試fungrep。