Nasıl daha az çalışır ve otomatik olarak bir arama düzeni çalıştırırsınız?


14

lessLinux'ta koşmaya çalışıyorum ve lansmandan hemen sonra bir şey aramasını istiyorum.

Temel olarak bunu yapmak gibidir:

$ less

Sonra tuşuna basın '/', benzer bir arama deseni yazın "^commit \w+$", ardından enter tuşuna basın ve 'n'sonraki sonuçları bulmak için tuşuna basın .

Daha az lansman yapılmasını ve ardından bir model aramasını istiyorum. Man sayfasında bir desenle başlamakla ilgili bir şey yok gibi görünüyor, ancak belki de Vim gibi komutlar gönderebilirsiniz.


1
Harika, bunu git config'inize koyun: core.pager = less -cFRX --pattern='^commit've hemen 'n' tuşuyla bir sonraki işleme geçebilirsiniz.
Neil

Yanıtlar:


8

Sayfadan 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.

Bu, less( 436 ) ' nın en son sürümünü kullanarak beklendiği gibi çalışır .


17

Rasgele komutlar göndermek için + tuşunu kullanabilirsiniz. Örneğin:

less +/pattern

-p PATTERN(nik tarafından gönderilen) eşdeğerdir +/PATTERN.


2
Bu cevabı tercih ediyorum, çünkü daha eksiksiz. Seçenek +/patterneşdeğerdir --pattern=pattern, ancak bir dosyanın sonunda daha az başlamak gibi daha fazlasını da yapabilir less +G. Bu +seçenek size her şeyi -p|--patternyapar ve diğer komutların tümünü daha az çalıştırmak için verir, bu yüzden hatırlamayı zahmet etmeyin -pve sadece +/içeriden daha az yaptığınız gibi aramak için kullanın .
DrStrangepork

4

Yani mi demek istiyorsun?

less -p PATTERN dosya adı

Bu kılavuzda.


4

Aslında bunu yapmanın iki yolu var. Herkesin belirttiği gibi, -p/ --patternoptions komutunu kullanabilirsiniz :

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

Desen, boşluk içerdiği için tırnak işaretleri içine alınmalıdır.

Ancak, bunu yapmanın ikinci bir yolu daha vardır:

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

İkinci yöntemin belirgin bir avantajı vardır. Sayfalandırma için daha az kullanan diğer komutlarla kullanılabilir !:

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

Bu, bash man sayfasında tüm yerleşik komutları aramak için tam anlamıyla genişletilebilir. Bir gün biraz taşındım ve bash yerleşimleri için "sabit" bir adamım var .


3

Gerçekten de daha az insan sayfasında bir şey var.

Deneyebilirsiniz:

less -p<pattern>

veya

less --pattern=<patern>

0

Başka bir seçenek, o zaman lesstürü &ve patternilginizi çalıştırdığınızda olmasıdır.

Bu şekilde sadecepattern ilgi alanınıza sahip olan hatların tümünü değil, tüm hatlara sahip olabilirsiniz. Anlam sadece eşleşen çizgileri gösterir .

&/ <pattern_of_interest>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.