sel - a general-purpose file selection utility

       sel [ -w <width> ] [ -i [ -n <field> ] ] <cmd> [ <flags> ] <entries>

       sel  presents  the user with a window containing a list of entries, as given on the
       command line. If the -i option is present, standard input is  read  for  additional
       entries until end-of-file or the maximum number of allowed entries is reached.

       The  user  can  move  through  the  list  with the cursor keys, and select/deselect
       entries with the space bar or Ins key.  Upon pressing return, the <cmd> is executed
       with  the  set  of selected entries as arguments. The <flags> are passed through to
       the command as well. Flags must begin with a `-' to  be  recognised  as  such;  the
       entries  start  with  the first argument to sel following the command that is not a
       flag (thus the flags do not appear in the entry list and cannot be selected or des-

       sel is thus something like an interactive version of xargs.

       The  <width>  argument  allows you to specify the width to use to display an entry.
       You can use this to get more columns in the display.

       The <field> argument causes sel to strip out the specified  field  from  each  line
       read from the standard input (starting with field 0). It is assumed that fields are
       separated by whitespace. If not, you should use cut before piping  the  entries  to

       sel supports the following interactive keys:

       arrow keys  move in the direction of the arrow

       k, j, h, l  move up, down, left, or right respectively

       <space>     toggle selection of filename at cursor and move to next one

       <Ins>       same as Space.

       A           select all filenames

       N           deselect all filenames

       I           invert all selections

       H, ?        display help message

       <return>    exit with selected filenames

       <escape>    exit with no action

       +           allow  the  user  to  enter an ed (1) regular expression; all arguments
                   that match the expression are selected

       X           invoke a user specified command with the current argument

       Z           invoke a user specified command with the currently selected arguments

       -           similar to + , but the matching files are deselected

            sel vi *.c
            sel ls -l /bin/*
            sel echo *.c | xargs cc -c
            find . -name '*.c' -print | sel -i cc -c

       The third example is equivalent to the simpler:

            sel cc -c *.c

       Remember that quoted arguments have their quotes stripped by the shell before  they
       are passed to sel.

       When  using  X  or  Z  interactively, you can use @ as a placeholder in the command
       string to represent where the arguments must go. If there is no @ the arguments are
       appended to the command string.

       regexp (5)

       gc3 (l) Gram's Commander.

       xargs (1)

       Graham Wheeler,