Specify columns where is possible to use multi-line cell for long text when
necessary.
.IP "\fB\-H, \-\-table-hide\fP \fIcolumns\fP"
-Don't print specified columns.
+Don't print specified columns. The special placeholder '-' maybe be used to
+hide all unnamed columns (see --table-columns).
.IP "\fB\-O, \-\-table-order\fP \fIcolumns\fP"
Specify columns order on output.
.IP "\fB\-n, \-\-table-name\fP \fIname\fP"
.EX
\fBsed 's/#.*//' /etc/fstab | column --table --table-columns SOURCE,TARGET,TYPE,OPTIONS,PASS,FREQ --table-right PASS,FREQ\fR
.EE
+.PP
+Print fstab and hide unnamed columns:
+.EX
+\fBsed 's/#.*//' /etc/fstab | column --table --table-columns SOURCE,TARGET,TYPE --table-hide -\fR
+.EE
+.PP
+
.PP
Print a tree:
.EX
{
char **all = split_or_error(list, errmsg);
char **one;
+ int unnamed = 0;
STRV_FOREACH(one, all) {
- struct libscols_column *cl = string_to_column(ctl, *one);
+ struct libscols_column *cl;
+
+ if (flag == SCOLS_FL_HIDDEN && strcmp(*one, "-") == 0) {
+ unnamed = 1;
+ continue;
+ }
+ cl = string_to_column(ctl, *one);
if (cl)
column_set_flag(cl, flag);
}
strv_free(all);
+
+ /* apply flag to all columns without name */
+ if (unnamed) {
+ struct libscols_iter *itr;
+ struct libscols_column *cl;
+
+ itr = scols_new_iter(SCOLS_ITER_FORWARD);
+ if (!itr)
+ err_oom();
+
+ while (scols_table_next_column(ctl->tab, itr, &cl) == 0) {
+ struct libscols_cell *ce = scols_column_get_header(cl);
+
+ if (ce == NULL || scols_cell_get_data(ce) == NULL)
+ column_set_flag(cl, flag);
+ }
+ scols_free_iter(itr);
+ }
}
static void reorder_table(struct column_control *ctl)