如何在linux上使用look命令

Linux look命令遍歷一個檔案並列出以特定單詞或短語開頭的所有行。但是小心!它在不同的Linux發行版上表現不同。本教程將向您展示如何使用它。...

Linux look命令遍歷一個檔案並列出以特定單詞或短語開頭的所有行。但是小心!它在不同的Linux發行版上表現不同。本教程將向您展示如何使用它。

ubuntu的look命令的行為不同

對於一個簡單但有用的命令,look在我研究這篇文章的時候確實給了我一個很好的解釋。有兩個問題:相容性和文件。

本文是使用Ubuntu、Fedora和Manjaro檢查的。look與這些發行版捆綁在一起,非常棒。問題是這三種情況下的行為都不一樣。Ubuntu的版本非常不同。根據Ubuntu手冊頁,行為應該是相同的。

我終於明白了。look傳統上使用二進位制搜尋,而ubuntulook使用線性搜尋。線上Ubuntu手冊頁上的Bionic Beaver(18.04)、Co**ic cutlefish(18.10)和Disco Dingo(19.04)都說Ubuntu版本使用了二進位制搜尋,但事實並非如此。

如果我們看一下本地的Ubuntu手冊頁,就會清楚地看到他們的外觀使用了線性搜尋。有一個命令列選項強制它使用二進位制搜尋。其他發行版中的兩個版本都沒有選擇搜尋方法的選項。

man look

如何在linux上使用look命令

向下滾動瀏覽手冊頁,我們會看到一節描述了使用線性搜尋而不是二進位制搜尋的look的這個版本。

如何在linux上使用look命令

這個故事的寓意是先檢視當地的手冊頁。

線性搜尋與二進位制搜尋

二進位制搜尋方法比線性搜尋更快更有效。處理大檔案使這一點非常明顯。二進位制搜尋的缺點是必須對檔案進行排序。如果不想對檔案進行排序,請對其副本進行排序,然後將其與look一起使用。

我們將在本文的其他地方對此進行演示。請注意,在Fedora、Manjaro和我所期望的大多數Linux世界中,您需要建立一個檔案的排序副本並使用它。

安裝單詞

look可以處理您選擇的任何文字檔案,也可以處理本地詞典檔案“words”

在Manjaro上,您需要安裝“words”檔案。使用此命令:

sudo pacman -Syu words

如何在linux上使用look命令

使用look

在本文中,我們將使用愛德華·李爾的詩歌《大雜燴》的文字檔案

讓我們用這個命令來看看它的內容:

less the-jumblies.txt

如何在linux上使用look命令

這是詩的第一部分。請注意,我們使用的是Ubuntu,因此該檔案仍然未排序。對於Fedora和Manjaro,我們將使用檔案的排序副本,這將在本文後面介紹。

如何在linux上使用look命令

如果我們尋找以“They”開頭的行,我們就會發現Jumblies做了些什麼。

look They the-jumblies.txt

如何在linux上使用look命令

look透過列出以下行來響應:

如何在linux上使用look命令

忽略字元大小寫

要使look忽略大小寫之間的差異,請使用-f(忽略大小寫)選項。我們又用了“they”作為搜尋詞,但這次是小寫的。

look -f they the-jumblies.txt

如何在linux上使用look命令

這一次,結果包括一個額外的行。

如何在linux上使用look命令

在最後一組結果中,以“THEY”開頭的那行沒有出現,因為它是大寫的,與我們的搜尋詞“THEY”不匹配

忽略case允許look將其包含在結果中。

對已排序的檔案使用look

如果您的Linux發行版的look版本遵循使用二進位制搜尋的傳統行為,那麼您必須對檔案進行排序,或者使用已排序的檔案副本。

讓我們重複搜尋“他們”的命令,但這次是在Manjaro上。

007Ys3FFgy1gp68oeg9sdj30hy025t8n

如您所見,沒有返回任何結果。但我們知道詩中有幾行是以“他們”開頭的

我們把檔案整理一下。如果要在look中使用-f(忽略大小寫)或-d(僅限字母數字字元和空格)選項,則在對檔案排序時必須使用它們。

-o(output)選項允許您指定排序行應新增到的檔案的名稱。在這個例子中,它是“排序.txt.”

sort -f -d the-jumblies.txt -o sorted.txt

如何在linux上使用look命令

讓我們看看排序.txt檔案,然後使用-f和-d選項。

如何在linux上使用look命令

現在,我們得到了預期的結果。

只考慮空格和字母數字

要使look忽略任何不是字母數字字元或空格的內容,請使用-d(字母數字)選項。

讓我們看看有沒有以“哦”開頭的詞

look -f oh the-jumblies.txt

如何在linux上使用look命令

look不返回任何結果。

讓我們再試一次,告訴look忽略除字母數字字元和空格以外的任何內容。這意味著字元和符號,如標點符號,將被忽略。

look -f -d oh the-jumblies.txt

如何在linux上使用look命令

這一次,我們得到了一個結果。我們以前沒有找到這一行,因為引號和感嘆號混淆了搜尋。

如何在linux上使用look命令

指定終止字元

您可以告訴look使用特定字元作為終止字元。通常,空格和行尾用作終止字元。

t(終止字元)選項允許我們指定要使用的字元。在這個例子中,我們將使用撇號字元。我們需要用反斜槓引用它,這樣look就知道我們沒有開啟字串。

我們引用搜索詞也是因為它包含空格。我們在找兩個詞。

look -f -t \' "they call" the-jumblies.txt

如何在linux上使用look命令

結果與搜尋項匹配,以我們用作終止字元的撇號結尾。

如何在linux上使用look命令

使用look without a file

如果沒有在命令列中提供檔名,look將使用file這個詞。

命令:

007Ys3FFgy1gp68ojimhnj30hy01lwec

給出以下結果:

如何在linux上使用look命令

這些都是檔案中以“圓”開頭的單詞

別再看了

就這些了。

一旦您知道在不同的Linux發行版中有不同的行為,並且您已經瞭解了您的版本是使用二進位制搜尋還是線性搜尋,這就非常容易了。

  • 發表於 2021-04-03 08:14
  • 閱讀 ( 49 )
  • 分類:網際網路

你可能感興趣的文章

如何在linux上安裝和使用powershell

... 在本文中,我將向您展示如何在Linux上安裝、執行和使用PowerShell! ...

  • 發佈於 2021-03-16 02:34
  • 閲讀 ( 50 )

如何向任何人解釋linux(讓他們明白)

... 你瞭解它的優點和缺點,知道如何使用它。更有可能的是,您知道哪個發行版最適合您。你知道什麼是分銷。你知道這一切是因為你對科技充滿熱情,不然你為什麼會在科技網站上讀一篇關於Linux的文...

  • 發佈於 2021-03-17 08:58
  • 閲讀 ( 50 )

如何在android和termux上使用linux命令列

...許您在Android裝置上安裝誠實善良的Linux應用程式。下面是如何使用Termux應用程式。 ...

  • 發佈於 2021-03-18 07:26
  • 閲讀 ( 58 )

如何在windows10上獲得linux bash shell

... 如何在windows10上安裝linux bash shell ...

  • 發佈於 2021-03-21 11:48
  • 閲讀 ( 58 )

linux下如何重新命名檔案

要在Linux中重新命名檔案嗎?如果您知道如何在Windows、macOS或Chrome作業系統中完成這項工作,那麼您就知道如何在這裡完成這項工作。在大多數版本的Linux上,您只需右鍵單擊一個檔案並選擇Rename選項。 ...

  • 發佈於 2021-03-22 02:48
  • 閲讀 ( 63 )

linux正在吃掉你的公羊嗎?如何管理你的記憶

...記憶體。為了理解到底發生了什麼,我們必須看看Linux是如何管理記憶體的。 ...

  • 發佈於 2021-03-23 08:31
  • 閲讀 ( 55 )

如何在ubuntu中安裝和更改主題

... 如何在ubuntu中安裝主題 ...

  • 發佈於 2021-03-24 21:26
  • 閲讀 ( 52 )

如何在linux上使用groupadd管理使用者組

... 相關:如何在Linux中更改密碼 ...

  • 發佈於 2021-03-26 17:15
  • 閲讀 ( 39 )

如何在linux中新增使用者

想在Linux系統上新增使用者但不知道如何新增?在Linux上使用命令列介面管理使用者無疑是一項複雜的工作。而對於初學者來說,即使新增新使用者也是一場噩夢。 ...

  • 發佈於 2021-03-26 23:29
  • 閲讀 ( 64 )

如何檢查linux核心和作業系統版本

...版本可以讓您對安全更新做出重要決定。我們將向您展示如何找到這些,無論您使用哪個發行版。 滾動和點釋放 你知道你在執行哪個版本的Linux嗎?你能找到核心版本嗎?Linux的滾動發行版,如Arch、Manjaro和openSUSE,經常使用自...

  • 發佈於 2021-04-01 13:11
  • 閲讀 ( 49 )
3513471167s
3513471167s

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦