Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
SHOWTABLE(1)	      User Contributed Perl Documentation	  SHOWTABLE(1)

       showtable - Show	data in	nicely formatted columns

       showtable [-options] [file]

       Showtable reads an input	data stream and	displays it in a nicely
       formatted listing, with exact formatting	depending upon the options.
       The input stream, file or "STDIN" by default should consist of data
       separated by tabs or the	defined	separator character (see -d).

       The actual output formatting is peformed	by the ShowTable module.

       There are two general sets of options: those which help determine the
       format of the input, and	those which determine the format of the

   Options affecting input
		 Set the inter-column break string to "str".  The default is a
		 tab (""\t"").	If -strip is also given, blanks	surrounding
		 the break string will also be ignored.

       -dstr	 This is the same as "-break="str.

		 Do not	ignore lines of	separators, such as dashes, equal
		 signs,	or underlines.	If -nodashes is	given, and these lines
		 do occur in the stream, they will be treated as normal	data.

		 Treat the first NN rows of data as column titles; multiple
		 words in the column titles may	wrap vertically. If NN is
		 omitted, it defaults to 1.  No	-titles	option is the same as

		 Set the input type as type, which can be one of: box, list,
		 table,	or simple.  A simple-type table	is the same as a
		 table-type, but no wrapping characters	are recognized.

       -s(trip)	 Strip blanks from around the column values.

		 Do not	strip blanks from the input.  Useful if	there is
		 formatted or aligned data within a boxed table.

   Options affecting output
       -t(able)	 Use a table format for	output,	with wrapping of column	values
		 longer	than the given or determined column widths.  See
		 Data::ShowTable for more details.

       -si(mple) Use a simple table format, without any	wrapping of column
		 values.  See Data::ShowTable for more details.

       -l(ist)	 Use a list style format.  See Data::ShowTable for more

       -b(ox)	 Use a "boxed" style table.  See Data::ShowTable for more

       -ht(ml)	 Use HTML-formating.  See Data::ShowTable for more details.

		 Define	the column names explicitly.  This is useful for
		 naming	columns	of data	from "STDIN", when showtable is	being
		 used as a filter.  The	first column name, name1, cannot begin
		 with a	digit.	This option allows any column titles obtained
		 from the input	to be overridden.

		 Do not	output any headers on the tables; -titles=0 implies
		 this option.

       -fn1[,n2, ..., nN]
		 Select	fields numbered	n1, n2,	etc., to display.  Each	nN is
		 a field index,	or a range of indexes in the form: "N"-"M" The
		 default is to show all	the fields in each row.	 Fields	are
		 numbered from 1.  An example:	to show	the first, and three
		 through five fields of	the "/etc/passwd" file:

		     showtable -d: -f1,2-5 /etc/passwd

       -fields=fname1[,fname2, ..., fnameN]
		 Select	the named fields to display.  The field	names must be
		 available, either through the data stream, or by using	the
		 -titles option.   The field names given must match the
		 existing field	names exactly.

		 Using the file	"/etc/passwd" for another example: to show the
		 same first two	fields,	by name:

		     showtable -d: -titles=Login,UID -fields=Login,UID /etc/passwd

		 Set the maximum table width.  This value is applied to	the
		 variable Data::Showtable::Max_Table_Width.  When the total
		 width of all columns to be displayed exceeds this value, all
		 column	widths are scaled uniformly.

		 If -width is not given, then for all output but -html,	the
		 default value is either ""COLUMNS"", if defined, or 80, if
		 not.  Whith -html mode, there is no default value for -width;
		 in other words, there is no limit to the width.

		 Set individual	column widths to the specified values.	Empty
		 column	widths imply no	maximum	width.	If the -width option
		 is also given,	then the -cwidth column	widths can also	be
		 given as fractions or percentages.

		 Example: To set the maximum width of the third	column to 20


   HTML-only options (the usage	of which implies -html)
		 Do not	perform	HTML escape sequences on the data; this	allows
		 embedded HTML text in the data	to be displayed	properly with
		 the -html option.

       -attributes='attr1 attr2	...'
		 Declare the table attributes, which are inserted into the
		 "TABLE" token.	 For example, the option:

		     -attributes='BORDER=0 CELLSPACING=2 CELLPADDING=4'

		 would cause the following HTML:


		 The default table attributes are:


		 Set the HTML formats for the column titles.  The
		 -title_formats	(or just -tf) can be given multiple times, for
		 each column, or formats for multiple columns can be given on
		 the same option separated by semi-colons "";"".

		 Each fmtN can itself be multiple HTML items, separated	by
		 commas.  Each HTML element can	be given either	as an HTML
		 token (eg: ""\<BOLD\">"), or as a plain name (eg: ""BOLD"").

		 For example, here is a	title format specification for three
		 columns, where	the first column title should be bold italic,
		 the second italic, and	the third italic in a smaller font:

			 -tf='BOLD,I;I;<FONT SIZE=-2>,I'

		 The same as -title_formats but	applies	to the column data.

		 Define	a mapping from column names, or	indexes, to URLs to be
		 inserted as <A	HREF's>	around the values for the named
		 columns.  Each	colN is	a column name or index,	and each urlN
		 is a string representing the URL to be	inserted for the given

		 The URL text may contain these	substitution strings:

		 %K - will be substituted with the current column name (or

		 %V - will be substituted with the current column value.

		 Multiple -url options may be given, if	desired, rather	than
		 creating one long argument for	a single -url.	For example:

		     showtable	 -d: -f1,6 -titles=Login,Homedir \
				 -url='Login=mailto:%V'	\
				 -url='HomeDir=file:%V'	\

   Other options
       -help	 Display some help to the user and quit.

   Boxed Input
       If the input type is box, then vertical and horizontal box characters
       are removed from	the input stream, and blanks surrounding the vertical
       box characters are removed.  The	vertical box characters	(column
       separaters) are ""|"" or	"":"".	The The	horizontal box characters are
       ""+"" and ""-"".

       Morever,	data wrapped within a column is	recognized and parsed as one
       column value, by	recognizing the	presence of a wrapping prefix or
       wrapping	suffix character.  Currently, the wrapping prefix character is
       "<", and	the wrapping suffix character is ">".

       An example of data wrapped within a column is given here.  The table
       below has just two logical rows of data;	with both rows having data
       wrapped into multiple physical rows.

	       |  Col 1	 |  Col	2  |  Col 3  |
	       | This is>| Another>| Row 1,3>|
	       |< a cont>|< value. |<is	also>|
	       |<inued	>|	   |<long.   |
	       |<value.	 |	   |	     |
	       |This is	>| Item2-2 | Item2-3 |

   List	Format
       When using the -list or -input=list options, either, or both, the input
       and output may be in a "list" format, which is implemented using	the
       following syntax:

	       r1c1_name: r1c1_value
	       r1c2_name: r1c2_value
	       r1cN_name: r1cN_value

	       r2c1_name: r2c1_value
	       r2c2_name: r2c2_value
			: r2c2_value_continued
	       r2cN_name: r2cN_value

	       rMc1_name: rMc1_value
	       rMc2_name: rMc2_value
	       rMcN_name: rMcN_value

       Each row	of data	consists of one	or more	columns, and ends with a blank

       Each column consists of a column	name, followed by a colon ":",
       followed	by an optional,	single space or	tab, followed by the column
       value, on the same line.

       Continuation lines of the previous column value consist of one or more
       space or	tab characters,	a colon	":", one optional, single space	or
       tab, followed by	the continuation value.	 In the	example	above, The
       second column value of the second row was continued.

   HTML	Input with HTML	Output
       When using -html	on data	already	containing HTML-formatted text,	the
       -noescape option	should be used.	 By default, all input text is assumed
       not to be HTML-formatted, and is	escaped	allowing embedded "<", ">"
       characters, if any, to be displayed correctly.

       Data::ShowTable module
		 Performs the actual output formatting.

       Alan K. Stebbens

       o    Currently, the box formatting characters are not configurable: '+'
	    for	the corners; '-' and '|' for the tops and sides, respectively.
	    In an ideal	world, these things would be configurable.

       o    The	continuation prefix and	suffix characters, '<' and '>',
	    respectively, are also not configurable:

       o    When reading table input, any data ending with ">" will be
	    considered to be continued by the next row of data.	 To avoid
	    this, use -input=simple.

       o    When selecting noncontiguous fields	(ie: -f1,4>) without field
	    names, the default field names will	be consecutively numbered from
	    1, which is	counter-intuitive to the original selection.  To avoid
	    this, name the fields using	the -title=...	option.

perl v5.32.1			  2013-10-25			  SHOWTABLE(1)


Want to link to this manual page? Use this URL:

home | help