]> git.tuebingen.mpg.de Git - adu.git/blobdiff - select.ggo
compute_user_summary does not need any private data.
[adu.git] / select.ggo
index 660839b28c5fdc6236a3e1958e530dc67bbd0885..f6fce018ef05dfc0b5560051bde77a770e72cb14 100644 (file)
@@ -1,17 +1,38 @@
+option "user" u
+#~~~~~~~~~~~~~~
+"users to take into account"
+string typestr="user_name"
+optional
+multiple
+details="
+       This option may be given multiple times in which case all given
+       user names are considered admissible. See also --uid below.
+"
 
-option "uid" u
+option "uid" U
 #~~~~~~~~~~~~~
 "user id(s) to take into account"
 string typestr="uid_spec"
 optional
 details="
-       An uid specifier may be a single number, or a range of uids.
+       An uid specifier may be a single uid, a range of uids,
+       or a comma-separated list of single uids or ranges.
        Example:
 
-       --uid 42    # only consider uid 42
-       --uid 42-   # only consider uids greater or equal than 42
-       --uid 23-42 # only consider uids between 23 and 42, inclusively.
-       --uid 23-42,666-777,88 # consider uids 23-42, 666-777 and 88.
+       Only consider uid 42:
+               --uid 42
+
+       Only consider uids greater or equal than 42:
+               --uid 42-
+
+       Only consider uids between 23 and 42, inclusively:
+               --uid 23-42
+
+       Consider uids 23-42, 666-777 and 88:
+               --uid 23-42,666-777,88
+
+       If no --user option is given and also --uid option is not given
+       (the default), all users are taken into account.
 "
 
 option "limit" L
@@ -27,7 +48,7 @@ details="
 
 option "no-headers" -
 #~~~~~~~~~~~~~~~~~~~~
-"supress descriptions for listings/summaries"
+"suppress descriptions for listings/summaries"
 flag off
 details="
        This is mostly useful to feed the output of adu to scripts.
@@ -37,8 +58,8 @@ option "select-mode" m
 #~~~~~~~~~~~~~~~~~~~~~
 "How to print the results of the query"
 enum typestr="<key>"
-values="global_list","global_summary","user_list","user_summary"
-default="global_list"
+values="user_summary","user_list","global_summary","global_list"
+default="user_summary"
 optional
 details="
        global_list: List of directories, regardless of owner.
@@ -91,57 +112,103 @@ details="
        to the base dir.
 "
 
-########################
-section "Format strings"
-########################
-
-option "global-list-format" -
-#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-"How to format the global list"
-string typestr="<format>"
-default="%(size:r:8) %(files:r:8) %(dirname)\n"
-details="
-       size: Total size of all files
-       files: The number of files
-       dirname: The name of the directory
-"
-
+option "format" f
+#~~~~~~~~~~~~~~~~
+"How to format the output"
+string typestr="<format_string>"
 optional
-option "global-summary-format" -
-#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-"How to format the global summary"
-string typestr="<format>"
-default="#directories: %(dirs), #files: %(files), size: %(size)\n\n"
 details="
-       dirs: The number of directories
-       files: The number of files
-       size: Total size of all files
-"
-optional
 
-option "user-list-format" -
-#~~~~~~~~~~~~~~~~~~~~~~~~~~
-"How to format the user list"
-string typestr="<format>"
-default="%(size:r:5) %(files:r:5) %(dirname)\n"
-details="
-       pw_name: The user name
-       uid: The user id
-       files: The number of files
-       size: size of all files in that directory
-       dirname: The name of the directory
-"
-optional
-option "user-summary-format" -
-#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-"How to format the user summary"
-string typestr="<format>"
-default="%(pw_name:l:16) %(uid:r:5) %(dirs:r:5) %(files:r:5) %(size:r:5)\n"
-details="
-       pw_name: The user name
-       uid: The user id
-       dirs: The number of directories
-       files: The number of files
-       size: Total size of all files
+       A string that specifies how the output of the select query is
+       going to be formated.  Depending on the chosen select-mode,
+       several conversion specifiers are available and a different
+       default value for this option applies.
+
+       adu knows four different types of directives: string, id,
+       count and size.  These are explained in more detail below.
+
+       The general syntax for string and id directives is %(name:a:w)
+       where \"name\" is the name of the directive, \"a\" specifies
+       the alignment and \"w\" is the width specifier which allows
+       to give a field width.
+
+       The alignment specifier is a single character: Either \"l\",
+       \"r\", or \"c\" may be given to specify left, right and
+       centered alignment respectively. The with specifier is a
+       positive integer.  Both \"a\" and \"w\" are optional.
+
+       A string directive supported by adu is \"dirname\" which is
+       substituted by the name of the directory. It is available
+       if either user_list or global_list mode was selected via
+       --select-mode.
+
+       Examples:
+               Print dirname without any padding:
+
+               \"%(diname)\"
+
+               Center dirname in a 20 chars wide field:
+
+               \"%(dirname:c:20)\"
+
+       The other two types of directives, count and size, are used
+       for numbers. The syntax for these is %(name:a:w:u). The \"a\"
+       and the \"w\" specifier have the same meaning as for the string
+       and id directives. The additional \"u\" specifier selects a unit
+       in which the number that corresponds to the directive should
+       be formated. All three specifiers are optional.
+
+       Possible units are the characters of the set \" bkmgtBKMGT\"
+       specifying bytes, kilobytes, megabytes, gigabytes and
+       terabytes respectively. The difference between the lower and
+       the upper case variants is that the lower case specifiers
+       select 1024-based units while the upper case specifiers use
+       1000 as the basis.
+
+       The whitespace character is like \"b\", but a space character
+       is printed instead of a unit.
+
+       Two more characters \"h\" and \"H\" (human-readable) are also
+       available that choose an appropriate unit depending on the
+       size of the number being printed.
+
+       An asterisk prepended to the unit specifier prevents the
+       unit from being printed. This is useful mainly for feeding
+       the output of adu to scripts that do not expect units.
+
+       In order to print a percent sign, use \"%%\". Moreover, adu
+       understands \"\\n\" and \"\\t\" and outputs a newline and a
+       tab character for these combinations respectively.
+
+       Examples:
+               Print size in gigabytes right-aligned:
+                       \"%(size:r::G)\"
+
+               As before, but use 5 char wide field:
+                       \"%(size:r5::G)\"
+
+               As before, but suppress trailing \"G\":
+                       \"%(size:r5::*G)\"
+
+
+       The following list contains all directives known to adu,
+       together with their types, and for which modes each of
+       them may be used.
+
+               pw_name (string): user name. Available for user_list
+               and user_summary
+
+               uid (id): user id. Available for user_list and
+               user_summary.
+
+               files (count): number of files. Available everywhere.
+
+               dirname (string): name of the directory. Available
+               for user_list and global_list.
+
+               size (size): total size/ directory size. Available
+               everywhere.
+
+               dirs (count): number of directories. Available
+               for user_summary and global_summary.
 "
-optional