17

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).

3 Answers 3

21

Try this trick:

man chmod | less +'/a\+x'

or

man chmod | more +'/a\+x'

With a backslash before the + sign because what comes after / is an extended regular expression.

9
  • 2
    Cool trick, I did not know that one!
    – terdon
    Commented Oct 29, 2013 at 20:22
  • But now, you do =) Commented Oct 29, 2013 at 20:22
  • 5
    The -p switch obviates the need for the rather ungainly +/...
    – jasonwryan
    Commented Oct 29, 2013 at 20:26
  • 2
    @JosephR, no it's just that less (and most pagers) behaves like cat when its output is not a terminal. Commented Oct 29, 2013 at 21:30
  • 1
    If less is 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 -a Commented Oct 29, 2013 at 21:41
0

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
1
  • Yeah, I probably should have tested first if a+x is even in that page :) It was the first thing that came to mind. Commented Oct 29, 2013 at 20:40
0

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .