Instead of doing
man chmod and then
/a+x to jump to the first section in the chmod man page that mentions
a+x, I would like to know if there is a way to open the man page to a specific search string, similar to how you can do
vi +string filename.txt in vi(m).
Try this trick:
man chmod | less +'/a\+x'
man chmod | more +'/a\+x'
With a backslash before the
+ sign because what comes after
/ is an extended regular expression.
2Cool trick, I did not know that one!– terdon ♦Oct 29, 2013 at 20:22
But now, you do =) Oct 29, 2013 at 20:22
-pswitch obviates the need for the rather ungainly
+/... Oct 29, 2013 at 20:26
2@JosephR, no it's just that
less(and most pagers) behaves like
catwhen its output is not a terminal. Oct 29, 2013 at 21:30
lessis already your man pager, you can also optimise it by running
LESS=+/searched_string man foobar. That also has the advantage of working with
man -aOct 29, 2013 at 21:41
Not as far as I know (but as @sputnick points out, I don't know much), but you can parse it:
man chmod | grep -C 5 'a+x'
I would recommend using a string that actually exists in the man page though, something like:
$ man chmod | grep -C 5 set-user-ID traversals. SETUID AND SETGID BITS chmod clears the set-group-ID bit of a regular file if the file's group ID does not match the user's effective group ID or one of the user's supplementary group IDs, unless the user has appro‐ priate privileges. Additional restrictions may cause the set-user-ID and set-group-ID bits of MODE or RFILE to be ignored. This behavior depends on the policy and functionality of the under‐ lying chmod system call. When in doubt, check the underlying system behavior. chmod preserves a directory's set-user-ID and set-group-ID bits unless you explicitly specify oth‐ erwise. You can set or clear the bits with symbolic modes like u+s and g-s, and you can set (but not clear) the bits with a numeric mode. RESTRICTED DELETION FLAG OR STICKY BIT The restricted deletion flag or sticky bit is a single bit, whose interpretation depends on the
Yeah, I probably should have tested first if a+x is even in that page :) It was the first thing that came to mind. Oct 29, 2013 at 20:40
Assuming that you use
less as the pager (it's the default on modern systems), add the search instructions to the environment variable
LESS. This is a list of command line options for
less. You can pass a less command to execute, such as
/ to search, by prefixing the command with
+ (just like with vi).
LESS="$LESS +/a\+x" man chmod
The advantage over
man chmod | less "+/a\+x" is that you don't lose the formatting.
See also zmv for zsh: Dry runs and man pages