Làm cách nào để tìm kiếm `!` (Dấu chấm than) trong trang thủ công?


13

Tôi muốn nhận được lời giải thích cho !tùy chọn (có nghĩa là loại trừ ) trong findlệnh trong man find.

Và sau đó tôi nhấn /shift + 1, Non-matchxuất hiện, thay vì ! Vì vậy, câu hỏi của tôi là làm thế nào để tìm kiếm !trong một trang web?

hình ảnh

Câu trả lời:


17

Máy mannhắn tin mặc định là less. Nếu bạn nhìn vào lesstrợ giúp (nhấn htrong khi đó), bạn sẽ thấy:

                          SEARCHING

  /pattern          *  Search forward for (N-th) matching line.
  ?pattern          *  Search backward for (N-th) matching line.
  n                 *  Repeat previous search (for N-th occurrence).
  N                 *  Repeat previous search in reverse direction.
  ESC-n             *  Repeat previous search, spanning files.
  ESC-N             *  Repeat previous search, reverse dir. & spanning files.
  ESC-u                Undo (toggle) search highlighting.
  &pattern          *  Display only matching lines
        ---------------------------------------------------
        A search pattern may be preceded by one or more of:
        ^N or !  Search for NON-matching lines.

Hoặc trong man less:

/pattern
      Search forward in the file for the N-th line containing the pat‐
      tern.  N defaults to 1.  The pattern is a regular expression, as
      recognized  by  the  regular expression library supplied by your
      system.  The search starts at the first line displayed (but  see
      the -a and -j options, which change this).

      Certain  characters  are  special if entered at the beginning of
      the pattern; they modify the type of search rather  than  become
      part of the pattern:

      ^N or !
             Search for lines which do NOT match the pattern.

Vì vậy, một mẫu của chỉ !là một mẫu trống (phù hợp với bất cứ thứ gì) bị phủ định - vì vậy không có gì phù hợp với nó.

Bạn sẽ phải thoát khỏi tầm quan trọng của !khi bắt đầu một mẫu, bằng cách sử dụng dấu gạch chéo ngược ( \!) hoặc làm cho nó không phải là ký tự đầu tiên của regex ( /[!]ví dụ).

Một cách khác là sử dụng grep:

$ man find | grep !
       with  `-', or the argument `(' or `!'.  That argument and any following
       ! expr True  if  expr  is false.  This character will also usually need
              Same as ! expr, but not POSIX compliant.
       The POSIX standard specifies parentheses `(', `)', negation `!' and the
       find /sbin /usr/sbin -executable \! -readable -print
       find . -perm -444 -perm /222 ! -perm /111
       find . -perm -a+r -perm /a+w ! -perm /a+x
       -perm  /222 or -perm /a+w) but are not executable for anybody ( ! -perm
       /111 and ! -perm /a+x respectively).
       find . -name .snapshot -prune -o \( \! -name *~ -print0 \)|

9

Bạn cần nhập \trước khi nhập !, để nó sẽ không được hiểu là biểu thức chính quy phủ định trong tìm kiếm.


4

Một cách khác để làm điều này:

man --html=firefox find

Sau khi manpage mở trong firefox, nhấn CTRL+ Fđể tìm kiếm bất kỳ ký tự nào.


4
Đó là --htmlhoặc -H.
Boris the Spider
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.