Saya mencoba menemukan perintah untuk mencari pola yang berisi tanda hubung di dalam semua halaman manual.
Saya telah melihat man man
, dan menemukan 3 opsi ini:
-K
,--global-apropos
Cari teks di semua halaman manual. Ini adalah pencarian kasar, dan kemungkinan akan memakan waktu; jika Anda bisa, Anda harus menentukan bagian untuk mengurangi jumlah halaman yang perlu dicari. Istilah pencarian dapat berupa string sederhana (default), atau ekspresi reguler jika
--regex
opsi digunakan.
-w
,--where
,--path
,--location
Jangan benar-benar menampilkan halaman buku panduan, tetapi cetak lokasi file sumber nroff yang akan diformat.
-S list
,-s list
,t--sections=list
Daftar adalah daftar bagian manual khusus pesanan yang dipisahkan dengan tanda koma atau koma untuk dicari. Opsi ini mengabaikan
$MANSECT
variabel lingkungan. (-s
Ejaan ini untuk kompatibilitas dengan Sistem V.)
Saya sudah mencoba menggabungkannya untuk mencari pola mark-modified-lines
yang merupakan opsi readline yang dijelaskan dalam man bash
:
$ man -s1 -Kw mark-modified-lines
Tetapi tidak menemukan halaman apa pun:
No manual entry for mark-modified-lines
Dan perintah keluar dengan kode 16
.
Saya berpikir bahwa mungkin sintaks dari perintah itu salah, tetapi sepertinya tidak, karena perintah ini dengan benar menemukan 5 halaman manual pada sistem saya yang berisi kata guitar
:
$ man -s1 -Kw guitar
/usr/share/man/man1/ffmpeg-all.1.gz
/usr/share/man/man1/ffserver-all.1.gz
/usr/share/man/man1/ffplay-all.1.gz
/usr/share/man/man1/ffmpeg-filters.1.gz
/usr/share/man/man1/ffprobe-all.1.gz
Saya pikir mungkin tanda hubung dalam kata menyebabkan masalah. Di man bash
, saya menemukan --regex
opsi yang dijelaskan sebagai berikut:
--regex
Perlihatkan semua halaman dengan bagian mana pun dari nama mereka atau deskripsi mereka yang cocok dengan setiap argumen halaman sebagai ekspresi reguler, sama dengan
apropos(1)
. Karena biasanya tidak ada cara yang masuk akal untuk memilih halaman "terbaik" ketika mencari ekspresi reguler, opsi ini menyiratkan-a
.
Saya mencoba menggunakan opsi ini dan mengganti kata mark-modified-lines
dengan regex mark.modified.lines
, di mana tanda hubung itu sendiri diganti dengan metacharacter .
yang harus cocok dengan karakter apa pun:
$ man -s1 -Kw --regex 'mark.modified.lines'
Masih tidak mencetak halaman apa pun, sementara saya tahu teksnya ditulis di bash
halaman manual.
Metacharacter .
di regex tampaknya diuraikan seperti yang diharapkan, karena perintah ini:
$ man -s1 -Kw --regex 'mark.mo'
Cetakan:
/usr/share/man/man1/x11perfcomp.1.gz
/usr/share/man/man1/xditview.1.gz
Dan 2 manual ini ( x11perfcomp
, xditview
) keduanya cocok dengan regex mark.mo
. Lebih khusus lagi, man x11perfcomp
berisi baris ini:
Mark Moraes wrote the original scripts to compare servers.
^^^^^^^
Dan man xditview
berisi baris ini:
Mark Moraes (University of Toronto)
^^^^^^^
Namun, man -s1 -Kw --regex 'mark.mo'
jangan cetak halaman bash man:
/usr/share/man/man1/bash.1.gz
Sementara saya mengharapkannya, karena ini berisi baris ini:
mark-modified-lines (Off)
^^^^^^^
Apakah mungkin untuk mencari pola yang berisi tanda hubung di dalam halaman manual?