ฉันพยายามค้นหาคำสั่งเพื่อค้นหารูปแบบที่มีเครื่องหมายขีดคั่นอยู่ใน 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.moregex โดยเฉพาะอย่างยิ่ง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)
^^^^^^^
เป็นไปได้หรือไม่ที่จะค้นหารูปแบบที่ประกอบด้วยเครื่องหมายขีดคั่นภายในหน้าคู่มือ?