Eu quero obter a explicação para a !
opção (que significa excluir ) no find
comando no man find
.
E então eu pressiono /
e shift + 1
, um Non-match
apareceu, em vez de !
Então, minha pergunta é como procurar !
em uma página de manual?
fonte
Eu quero obter a explicação para a !
opção (que significa excluir ) no find
comando no man find
.
E então eu pressiono /
e shift + 1
, um Non-match
apareceu, em vez de !
Então, minha pergunta é como procurar !
em uma página de manual?
O man
pager padrão é less
. Se você olhar para less
a ajuda de (pressione h
enquanto estiver nela), verá:
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.
Ou em 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.
Portanto, um padrão de just !
é um padrão vazio (que corresponde a qualquer coisa) negado - portanto, nada será igual a ele.
Você terá que escapar do significado de !
no início de um padrão, usando uma barra invertida ( \!
) ou fazendo com que não seja o primeiro caractere da regex ( /[!]
por exemplo).
A outra maneira é usar 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 \)|
Você precisa digitar \
antes de digitar !
, para que não seja interpretado como uma expressão regular de negação na pesquisa.
Outra maneira de fazer isso:
man --html=firefox find
Após a página de manual ser aberta no Firefox, pressione CTRL+ Fpara procurar qualquer caractere.
--html
ou-H
.