Bir erkek sayfasını nasıl atabilirim?


45

İçeriği sadece bir dökümü elde etmek için bir dosyayı 'kedi' gibi yapacağım gibi bir man sayfasını nasıl 'cat' edebilirim?

Yanıtlar:


40

Öncelikle, man dosyaları genellikle dosya sisteminizin herhangi bir yerinde gziped metin dosyalarıdır. Milajınız onları bulmakta çeşitlilik göstereceğinden ve muhtemelen kaynak yerine insanın size verdiği işlenmiş ve biçimlendirilmiş versiyonunu istediniz, onları manaraçla bırakabilirsiniz . Bakarak man man, man sayfalarını görüntülemek için kullanılan programı -Pşunun gibi bayraklarla değiştirebileceğinizi görüyorum :

man -P cat command_name

manEkranda görüntülemek yerine boru çıkışını otomatik olarak algılayan hiçbir şey yapmaz , bu nedenle başka bir şeyle işleyecekseniz, şu şekilde doğrudan atlayabilirsiniz:

man command_name | grep search_string

veya bir dosyaya dökmek için:

man command_name > formatted_man_page.txt

1
-P kullanarak çıktı dosyasını düzgünce okunabilir hale getirmez. Tüm ctrl-H karakterleriyle yazılmıştır. Eskiden adam cmd yapardım! man.cmd dosyasını açın ve man.cmd dosyasını açın ve '% s / ^ H .// g' komutunu kullanarak cıvataları ve italikleri temsil eden sinir bozucu kontrol karakterlerini kaldırın. Ancak, başka özel karakterler varken bunun hala bazı sorunları var. Hala çıktıda el ile düzenlemeyi önlemek için iyi bir yöntem arıyorum.
Chan Kim,

@ChanKim Yanlış bir şey yapıyorsunuz ya da standart olmayan bir yapılandırmaya giriyorsunuz çünkü buradaki her iki yöntem de aslında düz metin biçiminde ekstra kontrol karakterleri olmadan biçimlendirilmiş temiz çıktılar üretiyor. Sizi mankabuğunuzun normal işlevinden ayıran bir şeye veya bayraklara takma olmadığından emin misiniz man?
Caleb,

1
@Caleb, OP'nin problemini onayladım. CentOS sürüm 6.7 (Final), / usr / bin / man gcc> j, 'j' düzenleme, tüm ctrl-H'ler orada. Bulduğum en iyi cevap commandlinefu.com/commands/view/2417/…
Charles Roth

1
man command_name > formatted_man_page.txtbazı kelimelerin kopyalanmasına neden olacaktır.
Zigii Wong,

52

, ASCII adam sayfası dosyasını almak için olmadan alt çizgi girişimlerini ve kalınlaştırmak yapmak garip dizileri alt çizgi / can sıkıcı backspace:

man ksh | col -b > ksh.txt

6
Daha fazla yükseltme hak ediyorsun
Labo

2
Merhaba, neden man piped output yinelenen karakterler içeriyor? ve col -b nasıl kaldırır? Şimdiden teşekkürler.
saurabheights

2
@ saurabheights - insan altı çizili metinleri ve koyu metinleri ve belki geri boşlukları, yinelenen karakterleri, kaçış dizilerini, vb. diğer şeyleri yapmayı dener. bir terminalde metin olarak. Col kaynağını okumamıştım, fakat muhtemelen sadece stdin byte byte'ı inceliyor ve backdaces'i, vb. Stdout'a geçmiyor. col'un adam sayfası, birisinin özellikle insan çıktısını filtrelemek için yazdığı gibi okur.
Bruce Ediger

1
tamam, bu mantıklı. Bu tür karakterler (gizli) yinelenen karakterlere neden olabilir. Teşekkürler Bruce.
saurabheights

Gerçekten mod yükseltme oylarını hak ediyorsun. Sütun için "col" mu?
Cebir

24

Man sayfaları genellikle troffönceden işlenmiş dosyalardır ve düz metne,

groff -t -e -mandoc -Tascii manpage.1 | col -bx > manpage.txt

groffiçin bir sarıcı troff.

Daha fazla bilgi burada .

Önce man sayfa dosyalarını açmak için gzip kullanmanız gerekebilir ve çıktıda hala birçok biçimlendirme bilgisine sahip olacaksınız.


4
/
Troff

11

Bunu her zaman yapıyorum. Bu komut satırı beni mutlu ediyor:

man man | col -bx > man.txt

col -b geri alanları kaldırır.

col -bx ayrıca sekmeleri güçlü tercihim olan boşluklarla değiştirir.

Metni okurken tercihlerimin genişliğine göre biçimlendirmek istersem, komutu şu şekilde değiştiririm:

MANWIDTH=10000 man man | col -bx > man.txt

man man | col -bx > man.txtbenim için çalıştı. Teşekkür ederim.
JaredH

6

Sadece mankomutu kullanın - çıktıyı tıpkı catbir dosya için olduğu gibi başka şeylere yönlendirebilirsiniz .


1
Sadeliği severim.
Joel Sjögren

3

Sadece catbir manpage yapmak istiyorsanız, basitçe aşağıdakilere yönlendirebilirsiniz cat:

man ls | cat

İçeriğini bir dosyaya dökmek istiyorsanız:

man ls > ls_manpage_dump.txt
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.