介紹如何在 Linux 中使用 col
等指令將線上手冊(man page)轉為普通文字檔案。
線上手冊轉為文字檔案
若要將 Linux 的線上手冊(man page)轉換為普通的文字檔案,可以將 man
指令的輸出透過 col
移除特殊字元,再導入文字檔案儲存:
# 將 bash 線上手冊輸出至文字檔案 man bash | col -bx > bash.txt
在 col
的參數中,-b
代表移除退位(backspace)字元,而 -x
則代表將 tab 字元取代為空白字元。
man
指令在輸出文字資料時,排版的換行會以目前的終端機寬度為基準,如果希望輸出的文字可以不要自動換行,讓後續查看文字檔案的編輯器自動處理換行與排版,可以將 MANWIDTH
設定為極大的值(讓文字不需要換行):
# 讓文字不要自動換行 MANWIDTH=10000 man bash | col -bx > bash.txt
一般的線上手冊實際上是經過 gzip 壓縮之後的 troff 檔案格式,如果要將線上手冊原始檔案轉為文字檔案,可以使用以下指令:
# 將線上手冊檔案轉換為文字檔案 zcat /usr/share/man/man1/bash.1.gz |\ groff -t -e -mandoc -Tascii |\ col -bx > bash.txt