less selalu case-insensitive

21

Mencoba mencari tahu cara menggunakan pencarian case-insensitive di lesssaya menemukan ini di serverfault .

Itu sepertinya menjawab pertanyaan saya dengan sempurna. Masalahnya adalah: Tidak berfungsi seperti itu di sini (openSUSE 13.1; kurang 458).

Saya telah alias lesske less -WiNStapi saya berubah itu. Tetapi bahkan menyebutnya sebagai command less filetidak mengubah apa pun. Saya telah memeriksa psbahwa tidak ada -iopsi di baris perintah lagi.

Seperti jawabannya, lessbantuan (menekan h) menyatakan bahwa saya dapat menggunakan di -idalam lessjuga. Jika saya menggunakannya sekali lalu lessmemberitahu saya itu telah berubah menjadi pencarian case-insensitive (itu semacam benar: tidak ada yang berubah). Jika saya menggunakannya dua kali maka lesskatakan padaku itu telah berubah menjadi pencarian case-sensitive. Dan benar, maka itu berfungsi sebagaimana mestinya sejak awal. Namun, memberi -idua kali pada baris perintah tidak berhasil.

Ada apa di sini?

Hauke ​​Laging
sumber
1
GNU less tidak berfungsi seperti itu untuk saya (yaitu, secara case sensitif). Apakah Anda yakin itu tidak alias? Opsi apa yang Anda gunakan psuntuk memeriksa itu?
goldilocks
1
Hmm. Tidak pernah memperhatikan ini tetapi Anda benar sekali. Mencari temuan FOO hanya FOO, tapi mencari footemuan foo& FOO. Bahkan dengan -idan -WiNS.
slm
@goldilocks Dengan pssaya mendapatkan command lessopsi no ( ) atau -WNSjadi saya cukup yakin ini bukan psmasalah menyembunyikan -i/ -I. lesstampaknya bahkan tidak memiliki kemungkinan file konfigurasi yang dapat campur tangan di sini.
Hauke ​​Laging
@slm "bahkan dengan -i" agak lucu karena -iseharusnya melakukan hal itu. Pertanyaan yang menarik adalah: Apakah Anda kurang cocok FOOuntuk yang foo tanpa -i ?
Hauke ​​Laging
Tidak, itu bekerja sebaliknya. FOOhanya cocok FOO. Sepertinya bug bagi saya.
slm

Jawaban:

32

Saya tidak yakin cara mengaktifkan ini dari baris perintah tetapi ketika Anda berada di dalam lessAnda dapat beralih perilaku yang Anda inginkan dengan memberikan -iperintah less.

beralih -i

      ss # 1        ss # 2

mencari /blahdan/BLAH

      ss # 3       ss # 4

mencari /Blah

      ss # 5

Tampaknya Anda juga dapat memanggil mode ini sesuai permintaan dengan mengakhiri pencarian Anda dengan a -i.

Contoh

less prompt> /search string/-i

Referensi

slm
sumber
Itu bekerja untuk saya juga, tetapi saya harus memasukkan itu dua kali. Saya kira saya akan menulis laporan bug untuk openSUSE.
Hauke ​​Laging
@ HaukeLaging - Tampaknya tetap sebagai default jika Anda keluar dan kembali, dapatkah Anda mengkonfirmasi perilaku itu?
slm
Tidak, tetapi saya telah menemukan sesuatu yang menarik (tidak terkait dengan "bug" ini, meskipun): Anda dapat menggunakan -ibahkan setelah pencarian. Sorotan berubah kemudian (jika masih aktif).
Hauke ​​Laging
@ HaukeLaging - ah ya itu dia. Jadi notasi sedikit tupai dibandingkan dengan alat lain. /search string/-i.
slm
1
Suffixing tampaknya tidak berfungsi di less 487 (GNU regular expressions)(dari Ubuntu 18.04)
Ruslan
5

Manual (untuk saya less, versi 444) mengatakan:

      Options are also taken from the environment variable "LESS".  For exam‐
   ple, to avoid typing "less -options ..." each time less is invoked, you
   might tell csh:

   setenv LESS "-options"

   or if you use sh:

   LESS="-options"; export LESS

   On  MS-DOS,  you don't need the quotes, but you should replace any per‐
   cent signs in the options string by double percent signs.

   The environment variable is parsed before the command line, so  command
   line  options  override  the  LESS  environment variable.
       On  MS-DOS,  you don't need the quotes, but you should replace any per‐
   cent signs in the options string by double percent signs.

   The environment variable is parsed before the command line, so  command
   line  options  override  the  LESS  environment variable.  If an option
   appears in the LESS variable, it can be reset to its default  value  on
   the command line by beginning the command line option with "-+".

Jadi, saya akan memeriksa apakah variabel lingkungan LESSmungkin diatur di suatu tempat, di shell Anda "file dot" mungkin. Juga, less -+iharus mengatur ulang -ike default (yang case-sensitive). Jika itu mengembalikan kepekaan case untuk Anda, maka Anda bisa saja alias less=less -+i, mungkin bersama alias lessi=less -i.

Omid
sumber
0

Anda dapat memulai lebih sedikit dan mengabaikan huruf besar-kecil dengan melewatkan opsi -i. Ini mengabaikan kasus kecuali string pencarian memiliki karakter huruf besar. Berikut ini ringkasan tentang kurang dari halaman bantuan Ubuntu :

   -i or --ignore-case
          Causes searches to ignore case; that is, uppercase  and  lowercase  are  considered
          identical.   This  option  is ignored if any uppercase letters appear in the search
          pattern; in other words, if a pattern contains uppercase letters, then that  search
          does not ignore case.

   -I or --IGNORE-CASE
          Like -i, but searches ignore case even if the pattern contains uppercase letters.

Versi lain dari less dapat bervariasi dalam interpretasi mereka terhadap -i.

Hari H
sumber