有時你會發現需要格式化某個文本文件中的內容。比如,該文本文件每行一個單詞,而任務是把所有的單詞都放在同一行。當然,你可以手工來做,但沒人喜歡手工做這么耗時的工作。而且,這只是一個例子 – 事實上的任務可能千奇百怪。
好在,有一個命令可以滿足至少一部分的文本格式化的需求。這個工具就是fmt。本教程將會討論fmt的基本用法以及它提供的一些主要功能。文中所有的命令和指令都在 Ubuntu 16.04LTS 下經過了測試。
Linux fmt 命令
fmt命令是一個簡單的文本格式化工具,任何人都能在命令行下運行它。它的基本語法為:
fmt [-WIDTH] [OPTION]... [FILE]...
它的 man 頁是這么說的:
重新格式化文件中的每一個段落,將結果寫到標準輸出。選項-WIDTH是--width=DIGITS形式的縮寫。
下面這些問答方式的例子應該能讓你對fmt的用法有很好的了解。
Q1、如何使用 fmt 來將文本內容格式成同一行?
使用fmt命令的基本形式(省略任何選項)就能做到這一點。你只需要將文件名作為參數傳遞給它。
fmt [file-name]
下面截屏是命令的執行結果:
你可以看到文件中多行內容都被格式化成同一行了。請注意,這并不會修改原文件(file1)。
Q2、如何修改最大行寬?
默認情況下,fmt命令產生的輸出中的最大行寬為 75。然而,如果你想的話,可以用-w選項進行修改,它接受一個表示新行寬的數字作為參數值。
fmt -w [n] [file-name]
下面這個例子把行寬削減到了 20:
Q3、如何讓 fmt 突出顯示第一行?
這是通過讓第一行的縮進與眾不同來實現的,你可以使用-t選項來實現。
fmt -t [file-name]
Q4、如何使用 fmt 拆分長行?
fmt 命令也能用來對長行進行拆分,你可以使用-s選項來應用該功能。
fmt -s [file-name]
下面是一個例子:
Q5、如何在單詞與單詞之間,句子之間用空格分開?
fmt 命令提供了一個-u選項,這會在單詞與單詞之間用單個空格分開,句子之間用兩個空格分開。你可以這樣用:
fmt -u [file-name]
注意,在我們的案例中,這個功能是默認開啟的。
總結
沒錯,fmt提供的功能不多,但不代表它的應用就不廣泛。因為你永遠不知道什么時候會用到它。在本教程中,我們已經講解了fmt提供的主要選項。若想了解更多細節,請查看該工具的man 頁。
-
Linux
+關注
關注
87文章
11232瀏覽量
208949
原文標題:Linux 的 fmt 命令用法與案例
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論