| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
|
|
|
|
|
|
package Table::Hack; |
|
2
|
|
|
|
|
|
|
|
|
3
|
1
|
|
|
1
|
|
64098
|
use 5.006; |
|
|
1
|
|
|
|
|
4
|
|
|
4
|
1
|
|
|
1
|
|
6
|
use strict; |
|
|
1
|
|
|
|
|
3
|
|
|
|
1
|
|
|
|
|
25
|
|
|
5
|
1
|
|
|
1
|
|
6
|
use warnings; |
|
|
1
|
|
|
|
|
3
|
|
|
|
1
|
|
|
|
|
77
|
|
|
6
|
|
|
|
|
|
|
|
|
7
|
|
|
|
|
|
|
=head1 NAME |
|
8
|
|
|
|
|
|
|
|
|
9
|
|
|
|
|
|
|
Table::Hack - The CLI commands for table pre-analysis are provided. |
|
10
|
|
|
|
|
|
|
|
|
11
|
|
|
|
|
|
|
=head1 VERSION |
|
12
|
|
|
|
|
|
|
|
|
13
|
|
|
|
|
|
|
Version 0.12 |
|
14
|
|
|
|
|
|
|
|
|
15
|
|
|
|
|
|
|
=cut |
|
16
|
|
|
|
|
|
|
|
|
17
|
|
|
|
|
|
|
our $VERSION = '0.12'; |
|
18
|
|
|
|
|
|
|
|
|
19
|
|
|
|
|
|
|
|
|
20
|
|
|
|
|
|
|
=head1 SYNOPSIS |
|
21
|
|
|
|
|
|
|
|
|
22
|
|
|
|
|
|
|
This CPAN Module Table::Hack just essentially provides commands that |
|
23
|
|
|
|
|
|
|
run on CLI (command line interface), each is an independent program |
|
24
|
|
|
|
|
|
|
file written by Perl language. To know what they do can be known by |
|
25
|
|
|
|
|
|
|
the "--help" option switch after each command, and try running it |
|
26
|
|
|
|
|
|
|
without worrying. |
|
27
|
|
|
|
|
|
|
|
|
28
|
|
|
|
|
|
|
Note that the following explaines only the main functions. Many minior |
|
29
|
|
|
|
|
|
|
function are not explained here, so using them by your hand is important. |
|
30
|
|
|
|
|
|
|
The author thinks from experiments, once you use it, you can easily |
|
31
|
|
|
|
|
|
|
understand what they do. |
|
32
|
|
|
|
|
|
|
|
|
33
|
|
|
|
|
|
|
expskip : only shows limited number of lines of a (big) text file |
|
34
|
|
|
|
|
|
|
by skipping excpet first 3 lines, last 3 lines, and |
|
35
|
|
|
|
|
|
|
5, 10, 20, 50, 100, 200, .. -th lines. |
|
36
|
|
|
|
|
|
|
|
|
37
|
|
|
|
|
|
|
colorplus : colorizes text. With -3 option, it colorizes numbers. |
|
38
|
|
|
|
|
|
|
With -s option also with specifing regular exression |
|
39
|
|
|
|
|
|
|
the specified text are colorized. With -t option, |
|
40
|
|
|
|
|
|
|
the columns background is colorized to help the |
|
41
|
|
|
|
|
|
|
readability of text table with many columns. -b is |
|
42
|
|
|
|
|
|
|
used to specify the color. |
|
43
|
|
|
|
|
|
|
|
|
44
|
|
|
|
|
|
|
colsummary : It summarizes the character of all the columns of |
|
45
|
|
|
|
|
|
|
a table. For each column, value range, frequent |
|
46
|
|
|
|
|
|
|
values, frequncy of them are summarized in a |
|
47
|
|
|
|
|
|
|
readble way. |
|
48
|
|
|
|
|
|
|
|
|
49
|
|
|
|
|
|
|
freq : It counts how many character strings deliminated by |
|
50
|
|
|
|
|
|
|
line-end characters appear. The main function is |
|
51
|
|
|
|
|
|
|
similar to "sort | uniq -c ", but it is much faster |
|
52
|
|
|
|
|
|
|
in almost cases and it provides various sub functions. |
|
53
|
|
|
|
|
|
|
|
|
54
|
|
|
|
|
|
|
sampler : line random sampler with specified possibility. |
|
55
|
|
|
|
|
|
|
You can also choose the way of "sampling with |
|
56
|
|
|
|
|
|
|
replacement" and "sampling without replacement". |
|
57
|
|
|
|
|
|
|
You can specifiy the random seed so that you can |
|
58
|
|
|
|
|
|
|
ensure the reproductivity. |
|
59
|
|
|
|
|
|
|
|
|
60
|
|
|
|
|
|
|
csel : This is a column selector command even easier than |
|
61
|
|
|
|
|
|
|
AWK/cut. You can specify which columns to show by |
|
62
|
|
|
|
|
|
|
-p option, which columns to delete by -d, which columns |
|
63
|
|
|
|
|
|
|
to be shown in the leftmost by -h, and which columns |
|
64
|
|
|
|
|
|
|
to be shown in the rightmost by -t. |
|
65
|
|
|
|
|
|
|
|
|
66
|
|
|
|
|
|
|
venn : This is to check the inclusion relations of multiple |
|
67
|
|
|
|
|
|
|
set. Useful to see which columns shares the same |
|
68
|
|
|
|
|
|
|
coding system so that they can be connected by |
|
69
|
|
|
|
|
|
|
table joining. |
|
70
|
|
|
|
|
|
|
|
|
71
|
|
|
|
|
|
|
crosstable : It provides 2-way contingency table for |
|
72
|
|
|
|
|
|
|
2-columned table. |
|
73
|
|
|
|
|
|
|
|
|
74
|
|
|
|
|
|
|
latextable : yieldsa a latex table from a text table in |
|
75
|
|
|
|
|
|
|
TSV format from (probably) any kind of characters. |
|
76
|
|
|
|
|
|
|
|
|
77
|
|
|
|
|
|
|
madeafter : given file names, this provides 3 time information |
|
78
|
|
|
|
|
|
|
(atime, mtime, ctime) by one-shot (so useful!) |
|
79
|
|
|
|
|
|
|
|
|
80
|
|
|
|
|
|
|
colchop : Probably you have been annoyed by table text some cells |
|
81
|
|
|
|
|
|
|
of which contains long character strings. It chop off |
|
82
|
|
|
|
|
|
|
the long cells as you specify the maximum length. |
|
83
|
|
|
|
|
|
|
|
|
84
|
|
|
|
|
|
|
saikoro : Random number generator of uniform distributions |
|
85
|
|
|
|
|
|
|
|
|
86
|
|
|
|
|
|
|
transpose : performs matrix transpose. |
|
87
|
|
|
|
|
|
|
|
|
88
|
|
|
|
|
|
|
csv2tsv : Transforms from CSV (RFC4180) into TSV format. |
|
89
|
|
|
|
|
|
|
|
|
90
|
|
|
|
|
|
|
|
|
91
|
|
|
|
|
|
|
|
|
92
|
|
|
|
|
|
|
=head1 AUTHOR |
|
93
|
|
|
|
|
|
|
|
|
94
|
|
|
|
|
|
|
"Toshiyuki Shimono", C<< >> |
|
95
|
|
|
|
|
|
|
|
|
96
|
|
|
|
|
|
|
=head1 BUGS |
|
97
|
|
|
|
|
|
|
|
|
98
|
|
|
|
|
|
|
Please report any bugs or feature requests to . |
|
99
|
|
|
|
|
|
|
|
|
100
|
|
|
|
|
|
|
=head1 SUPPORT |
|
101
|
|
|
|
|
|
|
|
|
102
|
|
|
|
|
|
|
You can find documentation for this module with the perldoc command. |
|
103
|
|
|
|
|
|
|
|
|
104
|
|
|
|
|
|
|
perldoc Table::Hack |
|
105
|
|
|
|
|
|
|
|
|
106
|
|
|
|
|
|
|
|
|
107
|
|
|
|
|
|
|
=head1 LICENSE AND COPYRIGHT |
|
108
|
|
|
|
|
|
|
|
|
109
|
|
|
|
|
|
|
Copyright 2018 "Toshiyuki Shimono". |
|
110
|
|
|
|
|
|
|
|
|
111
|
|
|
|
|
|
|
This program is free software: you can redistribute it and/or modify |
|
112
|
|
|
|
|
|
|
it under the terms of the GNU General Public License as published by |
|
113
|
|
|
|
|
|
|
the Free Software Foundation, either version 3 of the License, or |
|
114
|
|
|
|
|
|
|
(at your option) any later version. |
|
115
|
|
|
|
|
|
|
|
|
116
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful, |
|
117
|
|
|
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
118
|
|
|
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
119
|
|
|
|
|
|
|
GNU General Public License for more details. |
|
120
|
|
|
|
|
|
|
|
|
121
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License |
|
122
|
|
|
|
|
|
|
along with this program. If not, see L. |
|
123
|
|
|
|
|
|
|
|
|
124
|
|
|
|
|
|
|
|
|
125
|
|
|
|
|
|
|
=cut |
|
126
|
|
|
|
|
|
|
|
|
127
|
|
|
|
|
|
|
1; # End of Table::Hack |