如何在手册页中搜索`!`(感叹号)?
我想得到解释!
在man find
中的find
命令中选项(表示排除 )。
然后我按/
并shift + 1
,一个Non-match
弹出,而不是!
所以我的问题是如何搜索!
在手册页?
默认的手动寻呼机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
在Firefox中打开联机帮助页后,按CTRL + F搜索任何字符。