Come si fa una ricerca senza distinzione tra maiuscole e minuscole utilizzando un modificatore di pattern utilizzando meno?


303

Sembra che l'unico modo per farlo sia passare il parametro -i quando esegui inizialmente meno. Qualcuno sa di qualche hack segreto per far funzionare qualcosa del genere

/something to search for/i

Risposte:


442

Puoi anche digitare command -Imentre less è in esecuzione. Attiva / disattiva la distinzione tra maiuscole e minuscole per le ricerche.


49
-i significa ignora maiuscole / minuscole nelle ricerche che non contengono maiuscole, mentre io ignoro maiuscole / minuscole in tutte le ricerche.
Constantino Cronemberger,

14
"ignora maiuscole / minuscole nelle ricerche che non contengono maiuscole" è chiamato "maiuscole / minuscole" in vim e ack. Aggiungendo questo qui per googlability.
Andy Lester,

@CiaoGio arrivederci, non "esegui un comando", basta digitarlo, sono stato confuso anche dal fraseggio.
xception

-Icome nel tipo letterale -Icon meno aperto.
Dylan Landry il

108

È inoltre possibile impostare la variabile di ambiente LESS

Lo uso LESS=-Ri, in modo da poter pompare l'output colorato da grepesso e mantenere le sequenze di colori ANSI.

Un'altra caratteristica poco usata di less che ho trovato è avviarla +Fcome argomento (o colpire SHIFT+ Fmentre in meno). Questo fa sì che segua il file che hai aperto, nello stesso modo in cui lo tail -f <file>farà. Molto utile se stai guardando i file di registro da un'applicazione e probabilmente vorrai eseguire il backup della pagina (se sta generando centinaia di righe di registrazione ogni secondo, per esempio).


3
Seguire con meno è COSÌ molto più utile che con la coda. Soprattutto registra con molta azione.
Svish,

6
@Svish Potresti dire di lesspiù :)
Martin Konecny ​​il

6
@MartinKonecny lesspuò essere di più, ma lessnon è moretanto menomost
Sanmiguel

@sanmiguel Non lo sapevo più, l'ho provato e sidescroll è davvero fantastico, grazie
devrimbaris

Vorrei usare less +F --follow-name some.file. +Fda solo non funziona per me.
WesternGun

34

In aggiunta a ciò che ha detto @Juha: In realtà -iattiva il maiuscolo / minuscolo con SmartCasing, ovvero se la tua ricerca contiene una lettera maiuscola, allora la ricerca farà distinzione tra maiuscole e minuscole, altrimenti non farà distinzione tra maiuscole e minuscole. Pensalo come :set smartcasein Vim.

Ad esempio: con -i, la ricerca di 'log' in 'Log, ..' corrisponderà, mentre 'Log' in 'log, ..' non corrisponderà.


17
In realtà, se una qualsiasi lettera, non solo la prima, è maiuscola, la ricerca sarà sensibile al maiuscolo / minuscolo. Una differenza importante (e indicativamente come preferisco che fosse). Questo è anche il modo in cui funziona la smartcase di vim.
Johannes Hoff,

In Vim puoi anche dire /\clogdi passare alla ricerca senza distinzione tra maiuscole e minuscole.
Darko Veberic,

12

Sembra che sia possibile convocare questa funzione in base alla ricerca in questo modo:

less prompt> /search string/-i

Questa opzione è nella guida lessinterattiva di cui si accede tramite h:

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

Non ho controllato ampiamente, ma l'aiuto nella lessversione 487 su MacOS e altre distribuzioni Linux elencano questa opzione come disponibile.

Su MacOS puoi anche installare una versione più recente di lessvia brew:

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

Riferimenti


@IlikeSerena - potrebbe trattarsi di un problema con versioni specifiche di less.
slm,

@slm su cui lesshai provato questo? Non lavorare sul mio less 458 (GNU regular expressions)(aptitude dice less 458-2FWIW)
hdl

@hdl - Al momento non ho accesso al sistema ma ero su qualsiasi versione lessinclusa con Fedora 19/20.
slm

@slm Grazie, probabilmente una versione più recente di 458-2, come 458-6 poiché questa in particolare è stata costruita per Fedora il 10-02-2014 secondo koji.fedoraproject.org/koji/packageinfo?packageID=759 e da allora hai pubblicato questo il 22 febbraio 14 ...
hdl

Non funziona su Mac con meno 487 (espressioni regolari POSIX)
Sumit Jain

11

Quando si utilizza -i flag, assicurarsi di inserire la stringa di ricerca completamente in minuscolo, perché se una lettera è maiuscola, allora corrisponde esattamente.

Vedi anche: la bandiera -I (maiuscola i) di less (1) per cambiare questo comportamento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.