跳轉到內容

Unix 快速入門/搜尋文字檔案

來自華夏公益教科書,開放的書籍,開放的世界


搜尋檔案內容

[編輯 | 編輯原始碼]

使用less進行簡單搜尋

[編輯 | 編輯原始碼]

使用 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

我們會看到它區分了Sciencescience。要忽略大小寫區分,請使用-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 (字數統計)

[編輯 | 編輯原始碼]

一個方便的小工具是wc 命令,代表 word count(字數統計)。要對 science.txt 進行字數統計,請鍵入

% wc -w science.txt

要查詢檔案有多少行,請鍵入

% wc -l science.txt
華夏公益教科書