AD
lexgrog - man sayfalarında başlık bilgisini ayrıştır
ÖZET
lexgrog [-m|-c] [-dfw?V] [-E kodlama] dosya ...
AÇIKLAMA
lexgrog, lex’de geleneksel “groff guess” yardımcı programının bir uygulamasıdır. Komut satırında kılavuz sayfası kaynak dosyaları ya da önceden biçimlendirilmiş “cat” sayfaları olarak dosyaların listesini okur ve adını ve açıklamasını apropos ve whatis tarafından kullanılan biçimde görüntüler, kılavuz sayfası tarafından gerekli önişleme süzgeçlerinin listesi nroff veya troff ya da her ikisine geçmeden önce.
Eğer girdi kötü biçimlendirilmişse lexgrog “ayrıştırma başarısız” yazdıracaktır; bu, kılavuz sayfalarının doğru olup olmadığını kontrol etmeniz gereken harici programlar için yararlı olabilir. lexgrog’un girdi dosyalardan biri “-” ise standart girdiden okunur; herhangi bir girdi dosyası sıkıştırılırsa sıkıştırılmış bir sürüm otomatik olarak okunacaktır.
SEÇENEKLER
-d, --debug
Hata ayıklama bilgisini göster.
-m, --man
Girdiyi kılavuz sayfası kaynak dosyaları olarak ayrıştır. Ne --man ne de --cat verilmezse bu öntanımlıdır.
-c, --cat
Girdiyi önceden biçimlendirilmiş kılavuz sayfaları (“cat sayfaları”) olarak ayrıştır. --man ve --cat aynı anda verilemez.
-w, --whatis
apropos ve whatis tarafından kullanılan kılavuz sayfasındaki başlıktan gelen adı ve açıklamayı görüntüle. Ne --whatis ne de --filters verilmezse bu öntanımlıdır.
-f, --filters
nroff veya troff ile biçimlendirmeden önce kılavuz sayfasını ön işleme koymak için gerekli süzgeçlerin listesini görüntüleyin.
-E kodlama, --encoding kodlama
Sayfa için tahmin edilen karakter kümesini kodlama olarak değiştirin.
-?, --help
Bir yardım iletisi göster ve çık.
--usage
Kısa kullanım iletisini göster ve çık.
-V, --version
Sürüm bilgisini göster.
ÇIKIŞ DURUMU
0 |
Başarılı program çalıştırma. | ||
1 |
Kullanım hatası. | ||
2 |
lexgrog, bir veya daha fazla girdi dosyasını ayrıştıramadı. |
ÖRNEKLER
$ lexgrog man.1
man.1: "man - sistem başvuru kılavuzları
için bir arayüz"
$ lexgrog -fw man.1
man.1 (t): "man - sistem başvuru
kılavuzları için bir arayüz"
$ lexgrog -c whatis.cat1
whatis.cat1: "whatis - kılavuz sayfa
açıklamalarını
görüntüle"
$ lexgrog broken.1
broken.1: ayrıştırma
başarısız
WHATIS AYRIŞTIRMA
mandb (lexgrog ile aynı kodu kullanır) her bir kılavuz sayfanın üstündeki AD bölümünü, belgelenen özelliklerin adlarını ve açıklamalarını ayrıştırır. Ayrıştırıcı oldukça toleranslı olsa da, tarihsel olarak kullanılan çeşitli formlarla baş etmek zorundaysa bazen gerekli bilgileri elde etmek başarısız olabilir.
Geleneksel man makro setini kullanırken, doğru bir AD bölümü şu şekilde görünür:
.SH NAME
foo \- program to do something
Bazı kılavuz sayfalayıcıları, ’\-’’nin tam olarak gösterildiği gibi olmasını gerektirir; mandb daha hoşgörülüdür; ancak diğer sistemlerle uyumluluk için ters eğik çizgiyi korumak iyi bir fikirdir.
Sol tarafta virgülle ayrılmış birkaç ad olabilir. Boş alan içeren adlar, bazı kötü biçimli AD bölümlerinde patolojik davranışlardan kaçınmak için göz ardı edilir. Sağdaki metin serbest biçimdedir ve birden fazla satıra yayılabilir. Aynı kılavuz sayfasında farklı açıklamalara sahip çeşitli özellikler belgeleniyorsa aşağıdaki biçim kullanılır:
.SH NAME
foo, bar \- programs to do something
.br
baz \- program to do nothing
(A macro which starts a new paragraph, like .PP, may be used instead of the break macro .br.)
BSD türevi mdoc makro setini kullanırken, doğru bir AD bölümü şu şekilde görünür:
.Sh NAME
.Nm foo
.Nd program to do something
Ayrıştırmanın başarısız olmasının birkaç ortak nedeni vardır. Bazen kılavuz sayfalarının yazarları, ’.SH NAME’’yi ’.SH MYPROGRAM’ ile değiştirir ve mandb, ihtiyaç duyduğu bilgiyi çıkaracağı bölümü bulamaz. Bazen yazarlar bir AD bölümü ekler; ancak ’ad \- açıklama’ yerine, serbest biçimli metin yerleştirirler. Bununla birlikte, yukarıdaki gibi herhangi bir sözdizim kabul edilmelidir.
AYRICA BAKINIZ
apropos(1), man(1), whatis(1), mandb(8)
NOTLAR
lexgrog, .so isteklerini içeren dosyaları ayrıştırmaya çalışır; ancak yalnızca dosyalar el ile bir sayfa hiyerarşisinde düzgün bir şekilde yüklenirse bu işlemi doğru yapabilir.
YAZAR
lexgrog tarafından klavuz sayfalarını taramak için kullanılan kod şu tarafından yazılmıştır:
Wilf.
(G.Wilford [AT] ee.uk).
Fabrizio Polacco (fpolacco [AT] debian.org).
Colin Watson (cjwatson [AT] debian.org).
Colin Watson, bu kılavuz sayfasının yanı sıra komut satırı ön ucunun mevcut canlı örneğini yazdı.
HATALAR
https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db