如何在linux上使用fold命令

linuxfold命令帶來了難以控制的輸出。透過控制輸出的寬度來讀取大量文字、無窮無盡的字串和未格式化的流。學習如何。...

linuxfold命令帶來了難以控制的輸出。透過控制輸出的寬度來讀取大量文字、無窮無盡的字串和未格式化的流。學習如何。

linux終端中文字行的工作原理

Linux戰鬥的第一條規則:瞭解你的敵人。讓我們來定義它。一行文字到底是什麼?它是由字母、數字、符號和空格組成的一系列字元,以一個表示“開始新行”的特殊位元組結尾。在Linux和Unix中,換行符(也稱為換行符)用作行尾指示符。這是一個十六進位制值為0x0a,十進位制值為10的位元組。

不同的作業系統使用不同的位元組值來表示一行的結束。Windows使用兩位元組序列。在Windows文字檔案中,換行符後面緊跟著回車符,十六進位制為0x0d,十進位制為十三。

術語“換行”和“回車”可以追溯到打字機。壓盤,紙被包裹的圓筒,被安裝在一個可移動的托架上。每次你按一個鍵,馬車就會向左移動一個字元的寬度。要開始一條新的生產線,您需要推動一個槓桿,使紙架回到原來的位置,然後旋轉滾筒,將紙張向上移動一行的高度。這個動作被稱為回車,而滾筒的旋轉(以及紙張的前進)被稱為換行。

打字機通電後,槓桿被鑰匙取代了。鑰匙的標籤是回車或剛剛回車。一些早期的計算機,如BBC Micro,仍然在我們現在所說的回車鍵上使用Return這個名字。

通常你看不到換行符。你只能看到它們的效果。換行符強制顯示或處理文字的軟體開始換行。

但排長隊有什麼問題?

沒有或很少有換行符的文字太寬,在終端視窗中很難閱讀。那很煩人,但卻是可以做到的。

一個更有害的問題是必須處理這樣長的行,它們給需要處理、傳輸或接收文字的軟體帶來了問題。這可能是由於內部緩衝區長度或無法調整的軟體其他方面造成的。

但有一個解決辦法,叫摺疊。

帶摺疊的第一步

讓我們看一下文字中有非常,非常長的行的部分。注意,我們這裡不是在討論句子。(雖然這篇文章來自赫爾曼·梅爾維爾的《白鯨》,但我們已經做到了兩全其美。)

一行文字是從最後一個換行字元(或者檔案的開頭(如果它是檔案中的第一行)一直到下一個換行字元,不管中間有什麼。這行可能包含許多句子。它可能會在終端視窗中繞上很多次。但它仍然是一行文字。

讓我們看看原始形式的文字:

less moby-dick.txt

如何在linux上使用fold命令

文字以較少的格式顯示:

如何在linux上使用fold命令

文字從視窗的一個邊緣延伸到另一個邊緣,並且線包裝是醜陋的,並且它們在中間中斷單詞。

我們有另一個版本的短線檔案:

less short-lines-moby-dick.txt

如何在linux上使用fold命令

這個檔案中的行要短得多。每行以換行符結束。

如何在linux上使用fold命令

如果我們使用hextump命令,我們可以檢視檔案中的位元組值和換行符。C(canonical)選項對輸出進行格式化,以在顯示器的主體中顯示十六進位制值,並在旁邊的列中顯示等價的文字。我們將把輸出分成以下幾個部分:

hexdump -C short-lines-moby-dick.txt | less

如何在linux上使用fold命令

按正斜槓“/”可以進入less的搜尋功能。鍵入“0a”並按Enter鍵。換行符將在文字中突出顯示。您可以滾動檔案並檢視它們出現的位置。如果需要,可以使用左箭頭和右箭頭鍵橫向滾動輸出。

如何在linux上使用fold命令

在每行的末尾有一個換行符本身就是一個限制。無論哪個程式或視窗顯示此文字,線條都無法適應寬度大於線條本身的視窗。行長度已被換行符限制。

所以長線和短線都有問題。

減少長線

fold命令有一個選項-w(width),允許您為一段文字指定一個新的最大寬度。我們將顯示最大寬度為50個字元的Moby Dick文字:

fold -w 50 moby-dick.txt

如何在linux上使用fold命令

文字以新的最大檔案長度顯示在終端視窗中。原始檔案未更改。只有fold的輸出被重新格式化。

如何在linux上使用fold命令

乍一看,這看起來好多了。但是單詞仍然在行尾的中間被分開。這本書顯然更容易閱讀,但有些難懂的斷字很刺耳。

儘管看起來文字的右邊邊距在來回擺動,但所有的行長度都是相同的。看起來比其他字元短一個字元的行恰好以空格字元結束。

在空間處拆分線

我們可以使用-s(空格)選項來確保只在空格字元上拆分行,並且不在兩行之間打斷任何單詞。

fold -w 50 -s moby-dick.txt

如何在linux上使用fold命令

現在輸出的右邊距參差不齊,但更容易閱讀。所有的單詞都是從開頭的那一行開始的。

如何在linux上使用fold命令

使短線變長

除了使長線變短之外,我們還可以使用fold來刪除較短線的強制線長度。

fold -w 75 short-lines-moby-dick.txt

如何在linux上使用fold命令

換行符被刪除,文字現在換行在分配的最大長度上或之前。

如何在linux上使用fold命令

使更改永久化

無法修改原始檔案。如果要保留更改,則必須將fold的輸出重定向到新檔案中。我們將把輸出重定向到一個名為“modified moby”的檔案中-迪克.txt.”

fold -w 75 -s short-lines-moby-dick.txt > modified-moby-dick.txt

如何在linux上使用fold命令

讓我們看看我們的新檔案:

less modified-moby-dick.txt

如何在linux上使用fold命令

我們的新檔案怎麼樣?

如何在linux上使用fold命令

文字現在以新的行寬整齊地包裝,比原始檔案的行長寬。

對流使用摺疊

我們可以使用摺疊來重新格式化文字流。它不僅限於處理檔案。讓我們看看journalctl工具的原始輸出是什麼樣子的。f(follow)選項顯示systemd日誌中的最新條目,並在新條目到達時更新。

sudo journalctl -f

如何在linux上使用fold命令

輸出環繞在終端視窗的邊緣。

如何在linux上使用fold命令

它看起來不太糟,但是為了演示,讓我們稍微減小它的寬度。我們將把journalctl的輸出匯入fold。我們將最大寬度設定為65個字元,並且只在空格上斷行。

sudo journalctl -f | fold -w 65 -s

如何在linux上使用fold命令

顯示屏看起來沒有那麼凌駕於眾,觸感也更加整潔。

如何在linux上使用fold命令


純文字的牆似乎無法穿透。他們很難應付。當你需要從樹上看到木頭的時候,可以打電話給fold,並強加一點秩序。

  • 發表於 2021-04-02 16:13
  • 閱讀 ( 41 )
  • 分類:網際網路

你可能感興趣的文章

如何在linux上安裝和使用powershell

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

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

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

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

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

如何在windows10上獲得linux bash shell

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

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

linux下如何重新命名檔案

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

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

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

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

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

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

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

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

啟動linux的9個基本命令

... 如何在linux下開啟終端 ...

  • 發佈於 2021-03-26 18:33
  • 閲讀 ( 59 )

如何在linux中新增使用者

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

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

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

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

  • 發佈於 2021-04-01 13:11
  • 閲讀 ( 51 )

如何在linux上使用history命令

...複您過去執行的命令。一旦您瞭解了Linux history命令以及如何使用它,它就可以顯著地提高您的生產效率。 操縱歷史 正如喬治桑塔亞納(georgestantayana)的一句名言:“那些記不住過去的人註定要重蹈覆轍。”不幸的是,在Linux...

  • 發佈於 2021-04-02 18:17
  • 閲讀 ( 51 )
mdql920949
mdql920949

0 篇文章

作家榜

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

相關推薦