คุณเรียกใช้ `น้อยกว่า 'และเรียกใช้รูปแบบการค้นหาโดยอัตโนมัติได้อย่างไร


14

ฉันพยายามเรียกใช้lessใน Linux และฉันต้องการให้ค้นหาบางอย่างทันทีหลังจากเปิดตัว

โดยทั่วไปแล้วการทำเช่นนี้:

$ less

จากนั้นกด'/'พิมพ์รูปแบบการค้นหาเช่น"^commit \w+$"จากนั้นกด Enter และกด'n'เพื่อค้นหาผลลัพธ์ที่ตามมาแต่ละรายการ

ฉันต้องการเปิดตัวน้อยกว่าแล้วค้นหารูปแบบ ดูเหมือนจะไม่มีอะไรใน man page เกี่ยวกับการเริ่มต้นด้วยรูปแบบ แต่บางทีคุณสามารถส่งคำสั่งเช่น Vim


1
ยอดเยี่ยมวางสิ่งนี้ไว้ในการกำหนดค่าคอมไพล์ของคุณ: core.pager = less -cFRX --pattern='^commit'และคุณจะสามารถไปยังการส่งต่อด้วยปุ่ม 'n' ได้ทันที
Neil

คำตอบ:


8

จากmanหน้า:

   -ppattern or --pattern=pattern
          The  -p  option  on the command line is equivalent to specifying
          +/pattern; that is, it tells less to start at the  first  occur-
          rence of pattern in the file.

ใช้งานได้ตามที่คาดหวังโดยใช้รุ่นล่าสุดของless( 436 )


17

คุณสามารถใช้ + เพื่อส่งคำสั่งโดยพลการ เช่น:

less +/pattern

-p PATTERN(ตามที่โพสต์โดย nik) +/PATTERNเทียบเท่ากับ


2
ฉันชอบคำตอบนี้เพราะมันสมบูรณ์กว่า ตัวเลือกที่+/patternจะเทียบเท่ากับแต่ก็สามารถทำมากขึ้นเช่นการเริ่มต้นน้อยในตอนท้ายของไฟล์ที่ทำ--pattern=pattern ตัวเลือกที่ช่วยให้คุณมีทุกอย่างที่ไม่บวกทั้งชุดของคำสั่งอื่น ๆ เพื่อให้ทำงานในเวลาที่น้อยดังนั้นฉันบอกว่าไม่รำคาญจดจำและใช้เพียงเพื่อค้นหาเช่นเดียวกับท่านจากภายในน้อย less +G+-p|--pattern-p+/
DrStrangepork

4

คุณหมายถึงอะไร

ชื่อไฟล์รูปแบบน้อย

ที่อยู่ในคู่มือ


4

จริงๆแล้วมีสองวิธีในการทำเช่นนี้ ตามที่คนอื่นพูดถึงคุณสามารถใช้-p/ --patternตัวเลือก:

less -p<pattern>
less --pattern=<pattern>

รูปแบบของคุณจะต้องห่อในเครื่องหมายคำพูดเนื่องจากมีช่องว่าง

อย่างไรก็ตามมีวิธีที่สองในการทำสิ่งนี้:

LESS=-p<pattern> less
LESS=--pattern=<pattern> less

วิธีที่สองมีข้อได้เปรียบที่แตกต่างกันอย่างหนึ่ง มันสามารถใช้กับคำสั่งอื่น ๆ ที่ใช้น้อยกว่าสำหรับการให้เลขหน้า!:

LESS=-p"^       read \[" man bash

นี่สามารถขยายได้อย่างแท้จริงเพื่อค้นหาหน้า bash man สำหรับคำสั่ง builtin ทั้งหมด ฉันถูกพาตัวไปสักวันหนึ่งและชายคนหนึ่ง "ตายตัว" เพื่อทุบตีสิ่งก่อสร้าง


3

มีบางสิ่งบางอย่างใน manpage ที่น้อยกว่า

คุณสามารถลอง:

less -p<pattern>

หรือ

less --pattern=<patern>

0

อีกตัวเลือกหนึ่งคือเมื่อคุณเรียกใช้lessประเภทแล้ว&และความpatternสนใจของคุณ

วิธีนี้คุณจะได้รับเฉพาะบรรทัดที่คุณpatternสนใจไม่ใช่ทุกบรรทัด ความหมายที่แสดงให้เห็นเพียงเส้นที่ตรงกัน

&/ <pattern_of_interest>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.