348 votes

Comment effectuer une recherche insensible à la casse à l'aide d'un modificateur de motif en utilisant less ?

Il semble que la seule façon de le faire soit de passer le paramètre -i lors de l'exécution initiale de less. Quelqu'un connaît-il une astuce secrète pour faire fonctionner quelque chose comme ça ?

/something to search for/i

507voto

Juha Syrjälä Points 11475

Vous pouvez également taper la commande -I pendant que moins est en cours. Il permet de modifier la sensibilité à la casse pour les recherches.

60 votes

-i signifie ignorer la casse dans les recherches qui ne contiennent pas de majuscules alors que -I ignore la casse dans toutes les recherches.

20 votes

"Ignorer la casse dans les recherches qui ne contiennent pas de majuscules" est appelé "smart case" dans vim et ack. J'ajoute ceci ici pour la googlabilité.

3 votes

@HelloGoodbye vous n'avez pas à "exécuter une commande" juste à la taper, j'ai été confus par la formulation aussi.

118voto

sanmiguel Points 1235

Vous pouvez également définir la variable d'environnement LESS

J'utilise LESS=-Ri pour que je puisse pomper la sortie colorée de l'ordinateur. grep et conserve les séquences de couleurs ANSI.

Une autre fonctionnalité peu utilisée de less que j'ai trouvée est de le démarrer avec +F comme argument (ou en frappant SHIFT + F alors que dans moins). Cela lui permet de suivre le fichier que vous avez ouvert, de la même manière que la commande tail -f <file> volonté. Très pratique si vous regardez les fichiers journaux d'une application, et que vous êtes susceptible de vouloir remonter la page (si elle génère des centaines de lignes de journaux chaque seconde, par exemple).

4 votes

Suivre avec moins est tellement plus utile qu'avec plus. Surtout les journaux avec beaucoup d'action.

8 votes

@Svish Vous pourriez dire less est plus :)

9 votes

@MartinKonecny less peut être plus, mais less n'est pas more à plus forte raison most

36voto

Antony Thomas Points 891

Complément à ce que @Juha a dit : En fait, -i active la sensibilité à la casse avec SmartCasing, c'est-à-dire que si votre recherche contient une lettre majuscule, la recherche sera sensible à la casse, sinon, elle sera insensible à la casse. Pensez-y comme suit :set smartcase dans Vim.

Par exemple : avec -i Ainsi, la recherche de "log" dans "Log, " sera fructueuse, alors que "Log" dans "log, " ne le sera pas.

19 votes

En fait, si tout La recherche sera sensible à la casse si toutes les lettres, et pas seulement la première, sont en majuscules. C'est une différence importante (et c'est ce que je préfère). C'est également de cette manière que fonctionne la fonction smartcase de vim.

0 votes

Dans Vim, vous pouvez également dire /\clog pour passer à la recherche insensible à la casse.

13voto

slm Points 3435

Il semble que vous puissiez invoquer cette fonction pour chaque recherche, comme suit :

less prompt> /search string/-i

Cette option est en less L'aide interactive de l'UE est accessible via h :

less prompt> h
...
  -i  ........  --ignore-case
                  Ignore case in searches that do not contain uppercase.
  -I  ........  --IGNORE-CASE
                  Ignore case in all searches.
...

Je n'ai pas vérifié de manière approfondie mais l'aide en less La version 487 de MacOS ainsi que d'autres distributions Linux mentionnent cette option comme étant disponible.

Sur MacOS, vous pouvez également installer une version plus récente de less via brew :

$ brew install less
$ less --version
less 530 (POSIX regular expressions)
Copyright (C) 1984-2017  Mark Nudelman

Références

0 votes

@IlikeSerena - il se peut que ce soit un problème avec des versions spécifiques de less .

1 votes

@slm qui less L'avez-vous essayé ? Il ne fonctionne pas sur mon less 458 (GNU regular expressions) (l'aptitude dit less 458-2 FWIW)

0 votes

@hdl - Je n'ai pas accès au système actuellement mais j'étais sur n'importe quelle version de less qui est inclus avec Fedora 19/20.

12voto

joe Points 49

Lorsque vous utilisez l'option -i, veillez à saisir la chaîne de recherche entièrement en minuscules, car si une lettre est en majuscule, il s'agit d'une correspondance exacte.

Voir aussi : le drapeau -I (i majuscule) de less(1) pour changer ce comportement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X