lexgrog - ambil kepala informasi dalam halaman buku panduan
lexgrog [
-m|
-c] [
-fhw?V] [
-E
pengkodean]
berkas ...
lexgrog adalah sebuah implementasi dari aplikasi tradisional
“groff guess” dalam
lex. Ini membaca daftar dari berkas
dalam baris perintah baik berkas sumber halaman buku panduan atau preformatted
“cat” pages, dan menampilkan nama dan deskripsinya seperti yang
digunakan oleh
apropos dan
whatis, daftar dari saringan
pemrosesan dibutuhkan oleh halaman buku panduan sebelum ini dilewatkan ke
nroff atau
troff, atau keduanya.
Jika masukannya terformat buruk,
lexgrog akan menampilkan “parse
failed”; ini mungkin berguna untuk program eksternal yang butuh
pemeriksaan halaman buku panduan untuk pembenaran. Jika satu dari
lexgrog berkas masukan adalah “-”, ini akan dibaca dari
standar masukan; jika berkas masukan apapun dikompress, sebuah versi tidak
terkompress akan dibaca secara otomatis.
-
-d, --debug
- Tampilkan informasi penelusuran.
-
-m, --man
- Ambil masukan sebagai berkas sumber halaman buku panduan.
Ini baku jika baik --man ataupun --cat tidak diberikan.
-
-c, --cat
- Ambil masukan sebagai halaman buku panduan terformat
(“cat halaman”). --man dan --cat mungkin tidak
diberikan secara bersamaan.
-
-w, --whatis
- Tampilkan nama dan deskripsi dari kepala halaman buku
panduan, seperti digunakan oleh apropos dan whatis. Ini
adalah baku jika bukan --whatis ataupun --filters
diberikan.
-
-f, --filters
- Tampilkan daftar dari penyaring yang dibutuhkan untuk
preproses halaman buku panduan sebelum memformatnya dengan nroff
atau troff.
-
-E pengkodean, --encoding
pengkodean
- Override set karakter yang diterka untuk halaman ke
pengkodean.
-
-?, --help
- Tampilkan sebuah pesan bantuan dan keluar.
- --usage
- Tampilkan sebuah pesan bantuan dan keluar.
-
-V, --version
- Tampilkan informasi versi.
- 0
- Eksekusi aplikasi sukses.
- 1
- Penggunaan error.
- 2
-
lexgrog gagal untuk mengambil satu atau lebih dari
berkas masukan.
$ lexgrog man.1
man.1: "man - an interface to the system reference manuals"
$ lexgrog -fw man.1
man.1 (t): "man - an interface to the system reference manuals"
$ lexgrog -c whatis.cat1
whatis.cat1: "whatis - display manual page descriptions"
$ lexgrog broken.1
broken.1: parse failed
mandb (yang menggunakan kode sama seperti
lexgrog) mengambil
NAMA bagian di puncak dari setiap halaman buku panduan mencari untuk
nama dan deskripsi dari features yang didokumentasikan. Walaupun pengambil
cukup bertoleransi, karena ini harus melingkupi dengan berbagai bentuk yang
berbeda yang telah digunakan, ini mungkin kadang kadang gagal untuk
mengekstrak informasi yang dibutuhkan.
Ketika menggunakan tradisional set makro
man, sebuah bagian
NAMA
benar tampak seperti ini:
.SH NAMA foo \- aplikasi untuk melakukan sesuatu
Beberapa halaman buku panduan membutuhkan ‘\-’ sama seperti yang
terlihat;
mandb yang lebih bertoleransi, tetapi untuk kompabilitas
dengan sistem lain ini mungkin sebuah ide bagus untuk menjaga backslash.
Di sisi kiri, mungkin ada beberapa nama, dipisahkan dengan koma. Nama berisi
ruang kosong akan diabaikan untuk menghindari perilaku pathologikal di
beberapa bagian
NAMA yang terbentuk buruk. Di sisi kanan mempunyai
bentuk bebas, dan mungkin dipisahkan oleh beberapa baris. Jika beberapa fitur
dengan beberapa deskripsi telah didokumentasikan dalam halaman buku panduan
yang sama, bentuk berikut sebaiknya digunakan:
.SH NAMA foo, bar \- aplikasi untuk melakukan sesuatu .br baz \- aplikasi tidak melakukan apapun
(Sebuah makro yang memulai sebuah paragraph baru, seperti .PP, dapat digunakan
daripada makro break .br.)
Ketika menggunakan set makro turunan BSD
mdoc, sebuah bagian
NAMA
yang benar terlihat seperti ini:
.Sh NAMA .Nm foo .Nd aplikasi untuk melakukan sesuatu
Ada beberapa sebab umum kenapa pengambilan whatis gagal. Kadang kadang pengarang
dari halaman buku panduan mengganti ‘.SH NAMA’ dengan
‘.SH APLIKASIKU’, dan kemudian
mandb tidak dapat
menemukan bagian dari itu untuk mengekstrak informasi yang dibutuhkan. Kadang
kala pengarang memasukan sebuah bagian NAMA, tetapi menempatkan teks bebas
disana daripada ‘nama \- deskripsi’. Intinya, sintaks apapun
yang menyerupai diatas seharusnya diterima.
apropos(1),
man(1),
whatis(1),
mandb(8)
lexgrog mencoba mengambil berkas berisi .so yang diminta, tetapi hanya
dapat melakukan itu dengan benar jika berkas secara benar terpasang di susunan
halaman buku panduan.
Kode digunakan oleh
lexgrog untuk memindai halaman buku panduan ditulis
oleh:
Wilf. ([email protected]).
Fabrizio Polacco ([email protected]).
Colin Watson ([email protected]).
Colin Watson menulis implementasi antar-muka dari baris perintah sekarang, dan
juga halaman buku panduan ini.
https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db