ít hơn luôn luôn không phân biệt chữ hoa chữ thường


21

Cố gắng tìm hiểu làm thế nào để sử dụng các tìm kiếm không phân biệt chữ hoa chữ thường trong lesstôi đã tìm thấy điều này trên serverfault .

Điều đó dường như trả lời hoàn hảo câu hỏi của tôi. Vấn đề là: Nó không hoạt động như thế ở đây (openSUSE 13.1; ít hơn 458).

Tôi đã aliased lessđể less -WiNSnhưng tôi đã thay đổi đó. Nhưng thậm chí gọi nó là command less filekhông thay đổi bất cứ điều gì. Tôi đã kiểm tra psrằng không còn -itùy chọn nào trong dòng lệnh nữa.

Như câu trả lời nói rằng sự lessgiúp đỡ (nhấn h) nói rằng tôi cũng có thể sử dụng -ibên trong less. Nếu tôi sử dụng nó một lần sau đó lesscho tôi biết nó đã thay đổi thành tìm kiếm không phân biệt chữ hoa chữ thường (đó là loại chính xác: không có gì thay đổi). Nếu tôi sử dụng hai lần thì sẽ lesscho tôi biết nó đã chuyển sang tìm kiếm phân biệt chữ hoa chữ thường. Và đúng, sau đó nó hoạt động như nó nên ngay từ đầu. Tuy nhiên, việc đưa ra -ihai lần trên dòng lệnh không hoạt động.

Có chuyện gì ở đây vậy?


1
GNU less không hoạt động như thế đối với tôi (nghĩa là theo mặc định, trường hợp nhạy cảm). Bạn có chắc chắn nó không bí danh? Những tùy chọn bạn đang sử dụng với psđể kiểm tra điều đó?
goldilocks

1
Hừm. Không bao giờ nhận thấy điều này nhưng bạn hoàn toàn chính xác. Tìm kiếm FOO chỉ tìm thấy FOO, nhưng tìm kiếm tìm foothấy foo& FOO. Ngay cả với -i-WiNS.
slm

@goldilocks Với pstôi có command lesstùy chọn không ( ) hoặc -WNSvì vậy tôi khá chắc chắn đây không phải là psvấn đề ẩn -i/ -I. lessdường như thậm chí không có khả năng một tập tin cấu hình có thể can thiệp vào đây.
Hauke ​​Laging

@slm "ngay cả với -i" là một loại buồn cười vì -iđược cho là làm chính xác điều đó. Câu hỏi thú vị là: Bạn có phù hợp FOOvới foo mà không có -i ?
Hauke ​​Laging

Không, nó hoạt động theo cách khác. FOOchỉ phù hợp FOO. Có vẻ như một lỗi với tôi.
slm

Câu trả lời:


31

Tôi không chắc chắn làm thế nào để kích hoạt tính năng này từ dòng lệnh nhưng khi bạn ở trong lessbạn có thể chuyển đổi hành vi bạn muốn bằng cách đưa ra -ilệnh less.

lúng túng -i

      ss # 1        ss # 2

tìm kiếm /blah/BLAH

      ss # 3       ss # 4

tìm kiếm /Blah

      ss # 5

Rõ ràng bạn cũng có thể triệu tập chế độ này theo yêu cầu bằng cách thêm vào các tìm kiếm của bạn với a -i.

Thí dụ

less prompt> /search string/-i

Tài liệu tham khảo


Điều đó cũng làm việc cho tôi, nhưng tôi phải nhập hai lần. Tôi đoán tôi sẽ viết một báo cáo lỗi cho openSUSE.
Hauke ​​Laging

@HaukeLaging - Có vẻ như là mặc định nếu bạn thoát và quay lại, bạn có thể xác nhận hành vi đó không?
slm

Không, nhưng tôi đã phát hiện ra một điều thú vị (mặc dù không liên quan đến "lỗi" này): Bạn có thể sử dụng -ingay cả sau khi tìm kiếm. Làm nổi bật thay đổi sau đó (nếu nó đang hoạt động).
Hauke ​​Laging

@HaukeLaging - ah đúng vậy. Vì vậy, ký hiệu là một chút so với các công cụ khác. /search string/-i.
slm

1
Suffashing dường như không hoạt động trong less 487 (GNU regular expressions)(từ Ubuntu 18.04)
Ruslan

5

Hướng dẫn sử dụng (đối với tôi less, phiên bản 444) cho biết:

      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 "-+".

Vì vậy, tôi sẽ kiểm tra xem biến môi trường LESScó thể được đặt ở đâu đó không, trong tập tin "dấu chấm" shell của bạn. Ngoài ra, less -+inên đặt lại -ivề mặc định của nó (phân biệt chữ hoa chữ thường). Nếu điều đó mang lại sự nhạy cảm cho trường hợp của bạn, thì bạn có thể alias less=less -+i, có thể cùng với alias lessi=less -i.


0

Bạn có thể bắt đầu ít hơn và bỏ qua trường hợp bằng cách chuyển tùy chọn -i. Điều này bỏ qua trường hợp trừ khi chuỗi tìm kiếm có ký tự chữ hoa. Dưới đây là tóm tắt về ít hơn từ trang trợ giúp 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.

Các phiên bản khác ít hơn có thể khác nhau trong cách hiểu của họ về -i.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.