string.c: Replace "paralash" by "adu" in source code documentation.
[adu.git] / select.ggo
1 option "user" u
2 #~~~~~~~~~~~~~~
3 "users to take into account"
4 string typestr="user_name"
5 optional
6 multiple
7 details="
8         This option may be given multiple times in which case all given
9         user names are considered admissible. See also --uid below.
10 "
11
12 option "uid" U
13 #~~~~~~~~~~~~~
14 "user id(s) to take into account"
15 string typestr="uid_spec"
16 optional
17 details="
18         An uid specifier may be a single uid, a range of uids,
19         or a comma-separated list of single uids or ranges.
20         Example:
21
22         Only consider uid 42:
23                 --uid 42
24
25         Only consider uids greater or equal than 42:
26                 --uid 42-
27
28         Only consider uids between 23 and 42, inclusively:
29                 --uid 23-42
30
31         Consider uids 23-42, 666-777 and 88:
32                 --uid 23-42,666-777,88
33
34         If no --user option is given and also --uid option is not given
35         (the default), all users are taken into account.
36 "
37
38 option "limit" l
39 #~~~~~~~~~~~~~~~
40 "Limit output"
41 int typestr="num"
42 default="-1"
43 optional
44 details="
45         Only print num lines of output. If negative (the default),
46         print all lines. This option is honored in all select modes
47         except global_summary (which outputs only one single line).
48 "
49
50 option "pattern" p
51 #~~~~~~~~~~~~~~~~~
52 "only consider matching directories"
53 string typestr="regex"
54 optional
55 details="
56         Regular expression that must match the directory name for
57         the directory to be considered for the output of the query.
58         See regex(7) for details.
59
60         Depending on whether --print-base-dir is given, the absolute
61         directory name or only the part of the directory name below
62         the base directory is matched against \"regex\".
63
64         If this option is not given (the default) all directories
65         are taken into account.
66
67         If \"regex\" starts with '!', directories are matched against
68         the remaining part of \"regex\" and the sense of matching is
69         reversed.
70 "
71
72 option "header" H
73 #~~~~~~~~~~~~~~~~
74 "use a customized header for listings/summaries"
75 string typestr="string"
76 optional
77 details="
78         This option can be used to print any string instead of the
79         default header line (which depends on the selected mode).
80
81         In user_list mode the header is a format string which allows
82         to include the uid and the user name in the header. See the
83         --format option for more details.
84
85         It is possible to set this to the empty string to suppress
86         the header completely. This is mostly useful to feed the
87         output to scripts.
88 "
89
90 option "select-mode" m
91 #~~~~~~~~~~~~~~~~~~~~~
92 "How to print the results of the query"
93 enum typestr="<key>"
94 values="user_summary","user_list","global_summary","global_list"
95 default="user_summary"
96 optional
97 details="
98         user_summary: Print totals for each admissible uid.
99         user_list: Print a list for each admissible uid.
100         global_summary: Only print totals.
101         global_list: List of directories, regardless of owner.
102 "
103
104 option "list-sort" s
105 #~~~~~~~~~~~~~~~~~~~
106 "how to sort the user list or the global list"
107 enum typestr="<key>"
108 values="size","file_count"
109 default="size"
110 optional
111 details="
112         This option is ignored if select-mode is neither \"user_list\", nor
113         \"global_list\".
114 "
115
116 option "output" o
117 #~~~~~~~~~~~~~~~~
118 "file to write output to"
119 string typestr="<path>"
120 optional
121 default="-"
122 details="
123         If empty, or not given, use stdout.
124 "
125
126 option "user-summary-sort" -
127 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
128 "how to sort the user-summary"
129 enum typestr="col_spec"
130 values="name","uid","dir_count","file_count","size"
131 default="size"
132 optional
133 details="
134         It is enough to specify the first letter of the column specifier,
135         e.g. \"--user-summary-sort f\" sorts by file count.
136 "
137
138 option "print-base-dir" -
139 #~~~~~~~~~~~~~~~~~~~~~~~~
140 "whether to include the base-dir in the output"
141 flag off
142 details="
143         If this flag is given, all directories printed are prefixed
144         with the base directory. The default is to print paths relative
145         to the base dir.
146 "
147
148 option "format" f
149 #~~~~~~~~~~~~~~~~
150 "How to format the output"
151 string typestr="<format_string>"
152 optional
153 details="
154
155         A string that specifies how the output of the select query is
156         going to be formated. Depending on the chosen select-mode,
157         several conversion specifiers are available and a different
158         default value for this option applies.
159
160         adu knows four different types of directives: string, id,
161         count and size. These are explained in more detail below.
162
163         The general syntax for string and id directives is %(name:a:w)
164         where \"name\" is the name of the directive, \"a\" specifies
165         the alignment and \"w\" is the width specifier which allows
166         to give a field width.
167
168         The alignment specifier is a single character: Either \"l\",
169         \"r\", or \"c\" may be given to specify left, right and
170         centered alignment respectively. The with specifier is a
171         positive integer. Both \"a\" and \"w\" are optional.
172
173         A string directive supported by adu is \"dirname\" which is
174         substituted by the name of the directory. It is available
175         if either user_list or global_list mode was selected via
176         --select-mode.
177
178         Examples:
179                 Print dirname without any padding:
180
181                 \"%(diname)\"
182
183                 Center dirname in a 20 chars wide field:
184
185                 \"%(dirname:c:20)\"
186
187         The other two types of directives, count and size, are used
188         for numbers. The syntax for these is %(name:a:w:u). The \"a\"
189         and the \"w\" specifier have the same meaning as for the string
190         and id directives. The additional \"u\" specifier selects a unit
191         in which the number that corresponds to the directive should
192         be formated. All three specifiers are optional.
193
194         Possible units are the characters of the set \" bkmgtBKMGT\"
195         specifying bytes, kilobytes, megabytes, gigabytes and
196         terabytes respectively. The difference between the lower and
197         the upper case variants is that the lower case specifiers
198         select 1024-based units while the upper case specifiers use
199         1000 as the basis.
200
201         The whitespace character is like \"b\", but a space character
202         is printed instead of a unit.
203
204         Two more characters \"h\" and \"H\" (human-readable) are also
205         available that choose an appropriate unit depending on the
206         size of the number being printed.
207
208         An asterisk prepended to the unit specifier prevents the
209         unit from being printed. This is useful mainly for feeding
210         the output of adu to scripts that do not expect units.
211
212         In order to print a percent sign, use \"%%\". Moreover, adu
213         understands \"\\n\" and \"\\t\" and outputs a newline and a
214         tab character for these combinations respectively.
215
216         Examples:
217                 Print size in gigabytes right-aligned:
218                         \"%(size:r::G)\"
219
220                 As before, but use 5 char wide field:
221                         \"%(size:r5::G)\"
222
223                 As before, but suppress trailing \"G\":
224                         \"%(size:r5::*G)\"
225
226
227         The following list contains all directives known to adu,
228         together with their types, and for which modes each of
229         them may be used.
230
231                 pw_name (string): user name. Available for user_list,
232                 user_summary and for the header in user_list mode.
233
234                 uid (id): user id. Available for user_list,
235                 user_summary and for the header in user_list mode.
236
237                 files (count): number of files. Available for all
238                 modes.
239
240                 dirname (string): name of the directory. Available
241                 for user_list and global_list.
242
243                 size (size): total size/ directory size. Available
244                 for all modes.
245
246                 dirs (count): number of directories. Available
247                 for user_summary and global_summary.
248 "