ฉันพยายามค้นหาคำสั่งเพื่อค้นหารูปแบบที่มีเครื่องหมายขีดคั่นอยู่ใน man page ทั้งหมด
ฉันดูman man
แล้วพบตัวเลือกเหล่านี้ 3:
-K
,--global-apropos
ค้นหาข้อความในหน้าคู่มือทั้งหมด นี่เป็นการค้นหาที่ดุร้ายและอาจใช้เวลาพอสมควร หากทำได้คุณควรระบุส่วนเพื่อลดจำนวนหน้าที่ต้องการค้นหา คำค้นหาอาจเป็นสตริงธรรมดา (ค่าเริ่มต้น) หรือนิพจน์ทั่วไปหากใช้
--regex
ตัวเลือก
-w
,--where
,--path
,--location
ไม่แสดงหน้าคู่มือจริง แต่พิมพ์ตำแหน่งของไฟล์ nroff ต้นทางที่จะฟอร์แมต
-S list
,-s list
,t--sections=list
รายการเป็นรายการที่คั่นด้วยเครื่องหมายจุลภาคหรือคั่นด้วยเครื่องหมายจุลภาคของคำสั่งเฉพาะส่วนที่ต้องการค้นหา ตัวเลือกนี้จะแทนที่
$MANSECT
ตัวแปรสภาพแวดล้อม (-s
ตัวสะกดใช้เพื่อความเข้ากันได้กับ System V)
ฉันพยายามรวมพวกเขาเพื่อค้นหารูปแบบmark-modified-lines
ซึ่งเป็นตัวเลือก readline ที่อธิบายในman bash
:
$ man -s1 -Kw mark-modified-lines
แต่ไม่พบหน้าใด ๆ :
No manual entry for mark-modified-lines
16
และออกคำสั่งกับรหัส
ฉันคิดว่าอาจจะเป็นไวยากรณ์ของคำสั่งผิด แต่ดูเหมือนจะไม่เป็นเช่นนั้นเนื่องจากคำสั่งนี้จะค้นหา 5 man pages บนระบบของฉันซึ่งมีคำว่า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
ฉันคิดว่าบางทีเครื่องหมายยัติภังค์อาจทำให้เกิดปัญหา ในman bash
ฉันพบ--regex
ตัวเลือกที่อธิบายดังนี้
--regex
แสดงหน้าเว็บทั้งหมดที่มีส่วนหนึ่งของทั้งชื่อหรือคำอธิบายของพวกเขาที่ตรงกับอาร์กิวเมนต์แต่ละหน้าเป็นนิพจน์ปกติของพวกเขาใด ๆ
apropos(1)
เช่นเดียวกับ เนื่องจากมีมักจะไม่มีทางที่เหมาะสมที่จะรับหน้า "ดีที่สุด"-a
เมื่อค้นหานิพจน์ปกติตัวเลือกนี้หมายถึง
ฉันพยายามที่จะใช้ตัวเลือกนี้และแทนที่คำmark-modified-lines
ด้วย regex mark.modified.lines
ที่ตัวยัติภังค์ถูกแทนที่ด้วย metacharacter .
ซึ่งควรตรงกับตัวละครใด ๆ :
$ man -s1 -Kw --regex 'mark.modified.lines'
มันยังไม่พิมพ์หน้าใด ๆ ในขณะที่ฉันรู้ว่าข้อความนั้นเขียนไว้ในbash
หน้าคน
metacharacter .
ใน regex ดูเหมือนจะถูกแยกวิเคราะห์ตามที่คาดไว้เนื่องจากคำสั่งนี้:
$ man -s1 -Kw --regex 'mark.mo'
พิมพ์:
/usr/share/man/man1/x11perfcomp.1.gz
/usr/share/man/man1/xditview.1.gz
และสิ่งเหล่านี้ 2 manpages ( x11perfcomp
, xditview
) มีทั้งการจับคู่โดย mark.mo
regex โดยเฉพาะอย่างยิ่งman x11perfcomp
มีบรรทัดนี้:
Mark Moraes wrote the original scripts to compare servers.
^^^^^^^
และman xditview
มีบรรทัดนี้:
Mark Moraes (University of Toronto)
^^^^^^^
อย่างไรก็ตามman -s1 -Kw --regex 'mark.mo'
ไม่พิมพ์หน้า bash man:
/usr/share/man/man1/bash.1.gz
ในขณะที่ฉันคาดว่ามันจะเนื่องจากมีบรรทัดนี้:
mark-modified-lines (Off)
^^^^^^^
เป็นไปได้หรือไม่ที่จะค้นหารูปแบบที่ประกอบด้วยเครื่องหมายขีดคั่นภายในหน้าคู่มือ?