Jak wykonać wyszukiwanie bez rozróżniania wielkości liter przy użyciu modyfikatora wzorca przy użyciu less?

Wydaje się, że jedynym sposobem, aby to zrobić, jest podanie parametru-i, gdy początkowo uruchamiasz mniej. Czy ktoś zna jakiś tajny hack, aby coś takiego działało

/something to search for/i
Author: fedorqui, 2008-08-20

5 answers

Możesz również wpisać polecenie -I gdy less jest uruchomiony. Przełącza czułość wielkości liter dla wyszukiwań.

 363
Author: Juha Syrjälä,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-07 11:14:00

Można również ustawić zmienną środowiskową LESS

Używam LESS=-Ri, aby móc pompować do niego kolorowe wyjście z grep i utrzymywać sekwencje kolorów ANSI.

Kolejną mało używaną cechą less, którą znalazłem, jest rozpoczynanie jej od +F jako argumentu (lub uderzanie SHIFT+F while in less). Spowoduje to, że będzie podążać za otwartym plikiem w taki sam sposób, jak tail -f <file>. Bardzo przydatne, jeśli oglądasz pliki dziennika z aplikacji i prawdopodobnie chcesz utworzyć kopię zapasową strony (jeśli generuje ona 100 linii logowania co sekundę, na przykład).

 85
Author: sanmiguel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-29 15:45:45

Dodatek do tego, co powiedział @Juha: w rzeczywistości -i włącza rozróżnianie wielkości liter za pomocą Smartcasingu, tzn. jeśli rozpoczniesz wyszukiwanie wielkimi literami, to wykona rozróżnianie wielkości liter, jeśli nie, wykona rozróżnianie wielkości liter. Pomyśl o tym jak o :set smartcase w Vim.

Np.: with -i, a search for 'log' in ' Log,..'dopasuje, natomiast 'Log' w ' log,.. nie pasuje.

 28
Author: Antony Thomas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-18 00:31:29

Podczas używania flagi-i, upewnij się, że wpisujesz szukany ciąg całkowicie małymi literami, ponieważ jeśli jakakolwiek litera jest wielkimi literami, to jest dokładnie dopasowana.

Zobacz także: znacznik-i (capital i) less(1), Aby zmienić to zachowanie.

 11
Author: joe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-22 19:43:59

Wygląda na to, że możesz przywołać tę funkcję na podstawie wyszukiwania w następujący sposób:

less prompt> /search string/-i

Ta opcja znajduje się w interaktywnej pomocy less, do której można uzyskać dostęp za pośrednictwem h:

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

Nie sprawdzałem dokładnie, ale pomoc w less w wersji 487 na MacOS i innych dystrybucjach Linuksa wymienia tę opcję jako dostępną.

Na MacOS można również zainstalować nowszą wersję less poprzez brew:

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

Referencje

 8
Author: slm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-10-05 12:12:50