您可以使用grep (「global regular expression print」)命令在檔案中搜尋文字格式,或顯示包含特定文字格式的檔案名稱。當您想在檔案或目錄中尋找資訊時,這個命令就極為有用。grep命令會檢視一或多個檔案中的每一行,以尋找與特定格式相符合的字串。當它找到符合的字串時,會顯示該串文字所在的那一行。

在檔案中搜尋字串

假設您有一份名為mailist的郵遞清單,內容如下:
Smith, Joe     2345 Pine St.     Santa Clara, CA
Walsen, Stacey  493 Winkle Ave.  San Jose, CA
Diaz, Robert   6789 Pine St.     Santa Clara, CA
Wang, Michael  1832 Jackson St.  Santa Clara, CA

如果您想抽選所有住在Pine Street的人員住址,請輸入:

grep(1)

$ grep Pine mailist

grep命令會列出mailist中所有包含Pine字串的各行文字。輸出結果如下:

Smith, Joe     2345 Pine St.     Santa Clara, CA
Diaz, Robert   6789 Pine St.     Santa Clara, CA

在搜尋時若不限文字的大小寫,請搭配使用-i選項。例如:

$ grep -i pine mailist

搜尋多重檔案

在其他方面,grep命令也極為有用。例如,有時候您不確定要找的資訊究竟位於哪一個檔案中。

假設您有三份郵遞清單,但是不記得哪一份包含了Stacey Walsen的住址。請輸入:

$ grep 'Walsen, Stacey' mailist mailist2 mailist3
mailist: Walsen, Stacey  493 Winkle Ave. San Jose, CA

The grep命令會顯示包含Stacey住址的那一行文字,以及其所在的檔案。請注意,因為字串中包含空格,故應以單引號括住('Walsen, Stacey')。

若要在整個目錄中搜尋此項資訊,請輸入:

$ grep 'Walsen, Stacey' *

當然你也可以使用 grep -r 'keyword' * 搜尋所在位置下含子目錄裡的所有檔案是否有包含指定的 keyword. 的檔案.

若需使用grep命令的相關資訊,請參閱 man grep 取得詳細說明


創作者介紹

經驗交流分享與備忘

Frank 發表在 痞客邦 PIXNET 留言(0) 人氣()