Làm thế nào để bạn thực hiện một tìm kiếm không nhạy cảm trường hợp bằng cách sử dụng một công cụ sửa đổi mẫu bằng cách sử dụng ít hơn?


303

Có vẻ như cách duy nhất để làm điều này là truyền tham số -i khi ban đầu bạn chạy ít hơn. Có ai biết một số hack bí mật để làm cho một cái gì đó như thế này hoạt động

/something to search for/i

Câu trả lời:


442

Bạn cũng có thể gõ lệnh -Itrong khi ít chạy. Nó bật tính nhạy cảm trường hợp cho các tìm kiếm.


49
-i có nghĩa là bỏ qua trường hợp trong các tìm kiếm không chứa chữ hoa trong khi -Tôi bỏ qua trường hợp trong tất cả các tìm kiếm.
Constantino Cronemberger

14
"Bỏ qua trường hợp trong các tìm kiếm không chứa chữ hoa" được gọi là "trường hợp thông minh" trong vim và ack. Thêm điều này ở đây cho googlability.
Andy Lester

@Hello Tốt, bạn không "chạy lệnh" chỉ cần gõ nó, tôi cũng bị nhầm lẫn bởi cụm từ.
xception

-Inhư trong nghĩa đen loại -Ivới ít mở.
Dylan Landry

108

Bạn cũng có thể đặt biến môi trường LESS

Tôi sử dụng LESS=-Ri, để tôi có thể bơm đầu ra được tô màu từ grepđó và duy trì các chuỗi màu ANSI.

Một tính năng ít được sử dụng ít hơn mà tôi tìm thấy là bắt đầu bằng +Fmột đối số (hoặc nhấn SHIFT+ Ftrong khi ít hơn). Điều này khiến nó tuân theo tệp bạn đã mở, theo cách tương tự tail -f <file>. Rất tiện dụng nếu bạn đang xem các tệp nhật ký từ một ứng dụng và có khả năng muốn sao lưu trang (ví dụ: nếu nó tạo ra 100 dòng ghi nhật ký mỗi giây).


3
Theo sau với ít hơn là SO hữu ích hơn nhiều so với đuôi. Đặc biệt là nhật ký với rất nhiều hành động.
Svish

6
@Svish Bạn có thể nói lesslà nhiều hơn :)
Martin Konecny

6
@MartinKonecny lesscó thể nhiều hơn, nhưng lessđừng moređể một mìnhmost
sanmiguel

@sanmiguel Tôi không biết nhiều nhất, đã thử nó và
sidecroll

Tôi sẽ sử dụng less +F --follow-name some.file. +FMột mình không làm việc cho tôi.
WesternGun

34

Bổ trợ cho những gì @Juha đã nói: Trên thực tế, -ibật Case-insensitive với SmartCasing, tức là nếu tìm kiếm của bạn chứa một chữ cái viết hoa, thì tìm kiếm sẽ phân biệt chữ hoa chữ thường, nếu không, nó sẽ không phân biệt chữ hoa chữ thường. Hãy nghĩ về nó như :set smartcasetrong Vim.

Ví dụ: với -i, tìm kiếm 'log' trong 'Log, ..' sẽ khớp, trong khi 'Log' trong 'log, ..' sẽ không khớp.


17
Trên thực tế, nếu bất kỳ chữ cái nào , không chỉ là chữ cái đầu tiên, là chữ hoa, việc tìm kiếm sẽ là trường hợp nhạy cảm. Một sự khác biệt quan trọng (và rõ ràng là tôi thích nó như thế nào). Đây cũng là cách smartcase của vim hoạt động.
Julian Hoff

Trong Vim, bạn cũng có thể nói /\clogđể chuyển sang tìm kiếm không phân biệt chữ hoa chữ thường.
Darko Veberic

12

Dường như bạn có thể triệu tập tính năng này trên cơ sở mỗi tìm kiếm như vậy:

less prompt> /search string/-i

Tùy chọn này nằm trong lesstrợ giúp tương tác mà bạn truy cập thông qua h:

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

Tôi đã không kiểm tra rộng rãi nhưng sự trợ giúp trong lessphiên bản 487 trên MacOS cũng như các bản phân phối Linux khác liệt kê tùy chọn này là có sẵn.

Trên MacOS, bạn cũng có thể cài đặt phiên bản mới hơn lessthông qua brew:

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

Người giới thiệu


@IlikeSerena - nó có thể là một vấn đề với các phiên bản cụ thể của less.
slm

@slm mà lessbạn đã thử cái này? Đừng làm việc với tôi less 458 (GNU regular expressions)(aptitude nói less 458-2FWIW)
hdl

@hdl - Hiện tại tôi không có quyền truy cập vào hệ thống nhưng trên bất kỳ phiên bản lessnào bao gồm w / Fedora 19/20.
slm

@slm Cảm ơn, có thể là một phát hành gần đây hơn 458-2, 458-6 như là một đặc biệt này được xây dựng cho Fedora trên 2014/02/10 theo koji.fedoraproject.org/koji/packageinfo?packageID=759 và từ bạn đã đăng bài này vào ngày 22 tháng 2 năm 14 ...
hdl

Không hoạt động trên mac với ít hơn 487 (biểu thức chính quy POSIX)
Sumit Jain

11

Khi sử dụng cờ -i, hãy chắc chắn nhập hoàn toàn chuỗi tìm kiếm bằng chữ thường, bởi vì nếu bất kỳ chữ cái nào là chữ hoa, thì đó là một kết hợp chính xác.

Xem thêm: cờ -I (viết hoa i) ít hơn (1) để thay đổi hành vi này.

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.