Unix 快速入門/搜尋文字檔案
外觀
使用 less,您可以在文字檔案中搜索關鍵字(模式)。例如,要搜尋 science.txt 中的“science”一詞,請鍵入
% less science.txt
這將把檔案的第一個螢幕內容寫入螢幕。在less中,您可以鍵入正斜槓 / 然後輸入要搜尋的詞
/science
如您所見,less 找到了並突出了關鍵字。鍵入 n 搜尋該詞的下一個出現位置。
這很有用,但相對有限且不靈活。不難想象,在某些簡單情況下,您可能希望快速檢查檔案內容(這是否是談論左遞迴的論文?)。但我們通常希望做更多的事情。這就是非常著名的 Unix 實用程式grep 的用武之地。
grep 是眾多標準 Unix 實用程式之一。它在檔案中搜索指定的單詞或模式。首先清除螢幕(在提示符處鍵入clear),然後鍵入
% grep science science.txt
如您所見,grep 打印出包含“science”一詞的每一行,但它是區分大小寫的。如果我們鍵入
% grep Science science.txt
我們會看到它區分了Science 和science。要忽略大小寫區分,請使用-i 選項,即鍵入
% grep -i science science.txt
要搜尋短語或模式(即包含空格的字元序列),必須將其括在單引號中。例如,要搜尋“current domain”,請鍵入
% grep -i 'current domain' science.txt
grep 的其他一些選項是
| grep 選項 | 效果 |
|---|---|
| -v | 顯示不匹配的行 |
| -n | 在每條匹配行之前加上行號 |
| -c | 僅列印匹配行的總數 |
嘗試其中一些選項,看看不同的結果。不要忘記,您可以同時使用多個選項。例如,沒有“science”或“Science”一詞的行數為
% grep -ivc science science.txt
grep 是最強大的 Unix 實用程式之一。還有egrep 等擴充套件。深入瞭解 grep 的功能可以讓你成為一名高效的 Unix 使用者。然而,這只是一個快速入門,因此我們只介紹到這裡。
一個方便的小工具是wc 命令,代表 word count(字數統計)。要對 science.txt 進行字數統計,請鍵入
% wc -w science.txt
要查詢檔案有多少行,請鍵入
% wc -l science.txt
