web-dev-qa-db-fra.com

Comment exécutez-vous `moins» et devez-vous exécuter un modèle de recherche automatiquement?

J'essaie de courir less à Linux, et je veux que cela cherche quelque chose immédiatement après le lancement.

C'est fondamentalement comme faire ceci:

$ less

Puis appuyez '/', tapez un motif de recherche comme "^commit \w+$", puis appuyez sur Entrée, puis appuyez sur 'n' Pour trouver chaque résultat ultérieur.

J'aimerais moins être lancé, puis recherchez un motif. Il ne semble y avoir rien dans la page d'homme de commencer avec un motif, mais vous pouvez peut-être envoyer des commandes informatiques telles que Vim.

14
Neil

De la page 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.

Cela fonctionne comme prévu à l'aide de la dernière version de less (436).

8
goldPseudo

Vous pouvez utiliser + pour envoyer des commandes arbitraires. Par exemple.:

less +/pattern

-p PATTERN (comme indiqué par Nik) équivaut à +/PATTERN.

17
Matthew Flaschen

Il y a en fait deux façons de faire cela. Comme l'a mentionné tout le monde, vous pouvez utiliser le -p/--pattern options:

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

Votre modèle devra être enveloppé de guillemets car il contient un espace.

Cependant, il y a en fait une deuxième façon de faire cela:

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

La deuxième méthode a un avantage distinct. Il peut être utilisé avec d'autres commandes qui utilisent moins pour la pagination!:

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

Cela peut être étendu littéralement pour rechercher la page Bash Man pour toutes les commandes intégrées. J'ai un peu emporté un jour et - "fixe" homme pour bash comestine .

4
Adam Stewart

Tu veux dire comme?

nom de fichier moins -p modèle

C'est dans le manuel.

4
nik

Il y a en effet quelque chose dans la page moins homme.

Tu pourrais essayer :

less -p<pattern>

ou

less --pattern=<patern>
3
slubman

Une autre option est que lorsque vous exécutez le less puis tapez & et le pattern de votre intérêt.

De cette façon, vous pouvez obtenir (( uniquement Les lignes qui ont votre pattern d'intérêts non toutes les lignes. Signification ne montre que les lignes correspondantes .

&/ <pattern_of_interest>
0
Dan Art