Я хочу получить объяснение !
опции (что означает исключение ) в find
команде в man find
.
А потом я нажимаю /
и shift + 1
, Non-match
выскочил, вместо !
Так что мой вопрос заключается в том , чтобы искать !
в страницах руководства?
источник
Я хочу получить объяснение !
опции (что означает исключение ) в find
команде в man find
.
А потом я нажимаю /
и shift + 1
, Non-match
выскочил, вместо !
Так что мой вопрос заключается в том , чтобы искать !
в страницах руководства?
man
Пейджер по умолчанию less
. Если вы посмотрите на less
помощь (нажмите, h
находясь в ней), вы увидите:
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.
Или в 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.
Таким образом, шаблон просто !
является пустым шаблоном (который соответствует чему-либо) отрицается - так что ничто не будет соответствовать этому.
Вам придется избежать значения !
в начале шаблона, либо используя обратную косую черту ( \!
), либо иным образом делая его не первым символом регулярного выражения ( /[!]
например).
Другой способ заключается в использовании 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 \)|
Вам нужно набирать текст \
перед вводом !
, чтобы он не интерпретировался как регулярное выражение отрицания при поиске.
Еще один способ сделать это:
man --html=firefox find
После того, как man-страница откроется в Firefox, нажмите CTRL+, Fчтобы найти любой символ.
--html
или-H
.