題:
是man ls> temp.txt嗎?輸出文本文件已損壞
seeker_of_bacon
2015-07-21 18:33:43 UTC
view on stackexchange narkive permalink

當我執行 man ls > temp.txt 時,輸出文本文件已損壞。損壞是指某些單詞的首字母和尾字母重複過多。

temp.txt 中的前幾行:

  LS( 1)BSD通用命令手冊LS(1)NNAAMMEE llss-列出目錄內容。沒有重定向, man ls 是完全正常的。發生什麼事了?
有趣的是,使用“較少”或“更多”查看文件會正確顯示格式。如果您使用`vim`,它將顯示帶有多餘字母的原始退格鍵(`^ H`)。
您的文件遭受打ic。
有趣的是,重定向輸出時,我的Linux計算機上的man命令的行為不像這樣。
五 答案:
Mateusz Szlosek
2015-07-21 18:44:34 UTC
view on stackexchange narkive permalink

man man

要獲取手冊頁的純文本版本(不包含空格和下劃線),請嘗試

 #man foo | col -b > foo.mantxt  

man 打印格式化的手冊頁版本,下劃線和雙字母被分析 s>

不是要對其進行“解析”,而是“如果沒有終端,則將粗體格式顯示為重複字符”。一旦將其連接到終端(vt100,xterm,終端等),男人就會識別出該終端並發送適當的控制代碼以進行彩色,加粗,下劃線等操作。可以正確解析它-僅用於空終端類型。

評論由MichaelT sup>

supercat
2015-07-22 03:01:11 UTC
view on stackexchange narkive permalink

很久以前,計算機通常被連接到電傳打字機(電傳打字機),該電傳打字機將在接收到文字後實時將所有文字打印在紙上。儘管電傳打字員沒有任何用於帶下劃線或粗體文本的功能,但輸出下劃線,退格和打印其他內容會導致其他內容帶有下劃線。同樣,輸出一個字符,退格並輸出相同的字符會趨於使該字符看起來更暗,儘管效果會因所安裝色帶的質量而異(如果色帶又舊又弱,則兩次鍵入相同的字符會使它明顯變暗;用新的色帶鍵入字符,即使一次也將達到接近最大的黑度)。此外,即使用戶沒有連接到打印機,將 man 的輸出重定向到打印後台處理程序也很常見,這可能解釋了為什麼 man 會表現出來

BTW,在某些打印機(甚至是電傳打印機)上, _←U_←N_←D_←E_←R_←L_←I_←N_的性能←I_←N_←G 會明顯比 ___________←←←←←←←←←←←←上←差,因為前者需要打印頭反復反轉方向(通常是過衝)其兩端的目標)。當使用多擊黑體字時也是如此,但是這種行為實際上可能是有利的,因為第一次打印每個字符將立即跟隨退格字符,而第二次則不會。如果在打印第一個字符時打印頭加速,則將導致它相對於第二個字符稍微錯位,從而使黑體效果更有效。

我對Unix的了解越多,就越能發現它對Windows的向後兼容性的困擾。
整潔的歷史課!很高興知道為什麼某些方法可能比其他方法更受歡迎。
Tim B
2015-07-21 19:52:04 UTC
view on stackexchange narkive permalink

Mateusz的答案是正確的,但值得指出的是,與剝離tty的格式相比,您可以使用不同的man格式。

例如,您可以獲取格式正確的pdf

  man -t ls | pstopdf -i -o〜/ ls.pdf  
多年來,我一直在使用[OnyX](http://www.titanium.free.fr)來打印我的手冊頁。不再!我將其寫入腳本,該腳本將處理系統上的所有手冊頁。非常感謝,因為我很久以前就放棄了為什麼一直使用OnyX。我現在更喜歡在終端上做這樣的事情,現在可以了。
不錯的功能。除此之外,還有一種簡單的方法來輸出html嗎?`gzip -dc $(man -w ls)|groff -Thtml -mandoc -c> / tmp / man-ls.html`
man的手冊頁說,-t格式是`groff -Tps ...`,並且是在/ usr / bin / man上運行的字符串,似乎是硬編碼的。並且由於`-Tps`會覆蓋GROFF_TYPESETTER,因此您的解決方案可能是最可行的。雖然您缺少管道中的步驟。您想要tbl然後發牢騷。試試`man -d ls`看看它使用的管道。
Dustin Wheeler
2015-07-22 00:02:23 UTC
view on stackexchange narkive permalink

或者,我定義了以下shell函數(從 Oh-my-ZSH的OS X插件調用):

  man-preview( ){man -t“ $ @” | open -f -a /Applications/Preview.app}  

這將導致在預覽中打開所需的手冊頁,其中包含所有可能需要的漂亮格式。將這個別名添加到您的〜/ .profile 中很容易(我認為 pman man-preview 容易,所以我已經在我的〜/ .zshrc 中設置 alias pman ='man-preview )。

P.S。我已經在互聯網上的各種點文件中看到了 pman 函數,Oh-my-ZSH恰好是定義我的位置。

Sunwolf
2015-07-21 23:40:37 UTC
view on stackexchange narkive permalink

或者您可以使用Carl Lindberg的ManOpen查找和打印任何手冊頁。 ManOpen最初是為NeXtStep開發的,但由於Carl的支持,仍然可以使用。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...