歡迎光臨
每天分享高質量文章

Linux 的 fmt 命令用法與案例 | Linux 中國

有時你會發現需要格式化某個文本檔案中的內容。比如,該文本檔案每行一個單詞,而任務是把所有的單詞都放在同一行。當然,你可以手工來做,但沒人喜歡手工做這麼耗時的工作。而且,這隻是一個例子 – 事實上的任務可能千奇百怪。
— Himanshu Arora


本文導航
編譯自 | https://www.howtoforge.com/linux-fmt-command/ 
 作者 | Himanshu Arora
 譯者 | lujun9972

有時你會發現需要格式化某個文本檔案中的內容。比如,該文本檔案每行一個單詞,而任務是把所有的單詞都放在同一行。當然,你可以手工來做,但沒人喜歡手工做這麼耗時的工作。而且,這隻是一個例子 – 事實上的任務可能千奇百怪。

好在,有一個命令可以滿足至少一部分的文本格式化的需求。這個工具就是 fmt。本教程將會討論 fmt 的基本用法以及它提供的一些主要功能。文中所有的命令和指令都在 Ubuntu 16.04LTS 下經過了測試。

Linux fmt 命令

fmt 命令是一個簡單的文本格式化工具,任何人都能在命令列下運行它。它的基本語法為:

  1. fmt [-WIDTH] [OPTION]... [FILE]...

它的 man 頁是這麼說的:

重新格式化檔案中的每一個段落,將結果寫到標準輸出。選項 -WIDTH 是 --width=DIGITS 形式的縮寫。

下麵這些問答方式的例子應該能讓你對 fmt 的用法有很好的瞭解。

Q1、如何使用 fmt 來將文本內容格式成同一行?

使用 fmt 命令的基本形式(省略任何選項)就能做到這一點。你只需要將檔案名作為引數傳遞給它。

  1. fmt [file-name]

下麵截屏是命令的執行結果:

format contents of file in single line

你可以看到檔案中多行內容都被格式化成同一行了。請註意,這並不會修改原檔案(file1)。

Q2、如何修改最大行寬?

預設情況下,fmt 命令產生的輸出中的最大行寬為 75。然而,如果你想的話,可以用 -w選項進行修改,它接受一個表示新行寬的數字作為引數值。

  1. fmt -w [n] [file-name]

下麵這個例子把行寬削減到了 20:

change maximum line width

Q3、如何讓 fmt 突出顯示第一行?

這是通過讓第一行的縮進與眾不同來實現的,你可以使用 -t 選項來實現。

  1. fmt -t [file-name]

make fmt highlight the first line

Q4、如何使用 fmt 拆分長行?

fmt 命令也能用來對長行進行拆分,你可以使用 -s 選項來應用該功能。

  1. fmt -s [file-name]

下麵是一個例子:

make fmt split long lines

Q5、如何在單詞與單詞之間,句子之間用空格分開?

fmt 命令提供了一個 -u 選項,這會在單詞與單詞之間用單個空格分開,句子之間用兩個空格分開。你可以這樣用:

  1. fmt -u [file-name]

註意,在我們的案例中,這個功能是預設開啟的。

總結

沒錯,fmt 提供的功能不多,但不代表它的應用就不廣泛。因為你永遠不知道什麼時候會用到它。在本教程中,我們已經講解了 fmt 提供的主要選項。若想瞭解更多細節,請查看該工具的 man 頁[1]


via: https://www.howtoforge.com/linux-fmt-command/

作者:Himanshu Arora[3] 譯者:lujun9972 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

LCTT 譯者

lujun9972 ? ? ? ?
共計翻譯:72 篇
貢獻時間:49 天


推薦文章

< 左右滑動查看相關文章 >

點擊圖片、輸入文章 ID 或識別二維碼直達

赞(0)

分享創造快樂