comparison docs/scripts/man1/MergeTextFiles.1 @ 0:4816e4a8ae95 draft default tip

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 09:23:18 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4816e4a8ae95
1 .\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.22)
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sp \" Vertical space (when we can't use .PP)
6 .if t .sp .5v
7 .if n .sp
8 ..
9 .de Vb \" Begin verbatim text
10 .ft CW
11 .nf
12 .ne \\$1
13 ..
14 .de Ve \" End verbatim text
15 .ft R
16 .fi
17 ..
18 .\" Set up some character translations and predefined strings. \*(-- will
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20 .\" double quote, and \*(R" will give a right double quote. \*(C+ will
21 .\" give a nicer C++. Capital omega is used to do unbreakable dashes and
22 .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
23 .\" nothing in troff, for use with C<>.
24 .tr \(*W-
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
26 .ie n \{\
27 . ds -- \(*W-
28 . ds PI pi
29 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
31 . ds L" ""
32 . ds R" ""
33 . ds C` ""
34 . ds C' ""
35 'br\}
36 .el\{\
37 . ds -- \|\(em\|
38 . ds PI \(*p
39 . ds L" ``
40 . ds R" ''
41 'br\}
42 .\"
43 .\" Escape single quotes in literal strings from groff's Unicode transform.
44 .ie \n(.g .ds Aq \(aq
45 .el .ds Aq '
46 .\"
47 .\" If the F register is turned on, we'll generate index entries on stderr for
48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
49 .\" entries marked with X<> in POD. Of course, you'll have to process the
50 .\" output yourself in some meaningful fashion.
51 .ie \nF \{\
52 . de IX
53 . tm Index:\\$1\t\\n%\t"\\$2"
54 ..
55 . nr % 0
56 . rr F
57 .\}
58 .el \{\
59 . de IX
60 ..
61 .\}
62 .\"
63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
64 .\" Fear. Run. Save yourself. No user-serviceable parts.
65 . \" fudge factors for nroff and troff
66 .if n \{\
67 . ds #H 0
68 . ds #V .8m
69 . ds #F .3m
70 . ds #[ \f1
71 . ds #] \fP
72 .\}
73 .if t \{\
74 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
75 . ds #V .6m
76 . ds #F 0
77 . ds #[ \&
78 . ds #] \&
79 .\}
80 . \" simple accents for nroff and troff
81 .if n \{\
82 . ds ' \&
83 . ds ` \&
84 . ds ^ \&
85 . ds , \&
86 . ds ~ ~
87 . ds /
88 .\}
89 .if t \{\
90 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
91 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
92 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
93 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
94 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
95 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
96 .\}
97 . \" troff and (daisy-wheel) nroff accents
98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
105 .ds ae a\h'-(\w'a'u*4/10)'e
106 .ds Ae A\h'-(\w'A'u*4/10)'E
107 . \" corrections for vroff
108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
110 . \" for low resolution devices (crt and lpr)
111 .if \n(.H>23 .if \n(.V>19 \
112 \{\
113 . ds : e
114 . ds 8 ss
115 . ds o a
116 . ds d- d\h'-1'\(ga
117 . ds D- D\h'-1'\(hy
118 . ds th \o'bp'
119 . ds Th \o'LP'
120 . ds ae ae
121 . ds Ae AE
122 .\}
123 .rm #[ #] #H #V #F C
124 .\" ========================================================================
125 .\"
126 .IX Title "MERGETEXTFILES 1"
127 .TH MERGETEXTFILES 1 "2015-03-29" "perl v5.14.2" "MayaChemTools"
128 .\" For nroff, turn off justification. Always turn off hyphenation; it makes
129 .\" way too many mistakes in technical documents.
130 .if n .ad l
131 .nh
132 .SH "NAME"
133 MergeTextFiles.pl \- Merge multiple CSV or TSV text files into a single text file
134 .SH "SYNOPSIS"
135 .IX Header "SYNOPSIS"
136 MergeTextFiles.pl TextFiles...
137 .PP
138 MergeTextFiles.pl [\fB\-h, \-\-help\fR] [\fB\-\-indelim\fR comma | semicolon] [\fB\-c, \-\-columns\fR colnum,...;... | collabel,...;...]
139 [\fB\-k, \-\-keys\fR colnum,...;... | collabel,...;...] [\fB\-m, \-\-mode\fR colnum | collabel]
140 [\fB\-o, \-\-overwrite\fR] [\fB\-\-outdelim\fR comma | tab | semicolon] [\fB\-q, \-\-quote\fR yes | no]
141 [\fB\-r, \-\-root\fR rootname] [\fB\-s, \-\-startcol\fR colnum | collabel] [\fB\-\-startcolmode\fR before | after]
142 [\fB\-w, \-\-workingdir\fR dirname] TextFiles...
143 .SH "DESCRIPTION"
144 .IX Header "DESCRIPTION"
145 Merge multiple \s-1CSV\s0 or \s-1TSV\s0 \fITextFiles\fR into first \fITextFile\fR to generate a single
146 text file. Unless \fB\-k \-\-keys\fR option is used, data rows from other \fITextFiles\fR
147 are added to first \fITextFile\fR in a sequential order, and the number of rows in first
148 \&\fITextFile\fR is used to determine how many rows of data are added from other
149 \&\fITextFiles\fR.
150 .PP
151 Multiple \fITextFiles\fR names are separated by space. The valid file extensions are \fI.csv\fR and
152 \&\fI.tsv\fR for comma/semicolon and tab delimited text files respectively. All other file names
153 are ignored. All the text files in a current directory can be specified by \fI*.csv\fR,
154 \&\fI*.tsv\fR, or the current directory name. The \fB\-\-indelim\fR option determines the
155 format of \fITextFiles\fR. Any file which doesn't correspond to the format indicated
156 by \fB\-\-indelim\fR option is ignored.
157 .SH "OPTIONS"
158 .IX Header "OPTIONS"
159 .IP "\fB\-h, \-\-help\fR" 4
160 .IX Item "-h, --help"
161 Print this help message.
162 .IP "\fB\-\-indelim\fR \fIcomma | semicolon\fR" 4
163 .IX Item "--indelim comma | semicolon"
164 Input delimiter for \s-1CSV\s0 \fITextFile(s)\fR. Possible values: \fIcomma or semicolon\fR.
165 Default value: \fIcomma\fR. For \s-1TSV\s0 files, this option is ignored and \fItab\fR is used as a
166 delimiter.
167 .IP "\fB\-c, \-\-columns\fR \fIcolnum,...;... | collabel,...;...\fR" 4
168 .IX Item "-c, --columns colnum,...;... | collabel,...;..."
169 This value is mode specific. It is a list of columns to merge into first
170 text file specified by column numbers or labels for each text file
171 delimited by \*(L";\*(R". All specified text files are merged into first text file.
172 .Sp
173 Default value: \fIall;all;...\fR. By default, all columns from specified text files are
174 merged into first text file.
175 .Sp
176 For \fIcolnum\fR mode, input value format is: \fIcolnum,...;colnum,...;...\fR. Example:
177 .Sp
178 .Vb 1
179 \& "1,2;1,3,4;7,8,9"
180 .Ve
181 .Sp
182 For \fIcollabel\fR mode, input value format is: \fIcollabel,...;collabel,...;...\fR. Example:
183 .Sp
184 .Vb 1
185 \& "MW,SumNO;SumNHOH,ClogP,PSA;MolName,Mol_Id,Extreg"
186 .Ve
187 .IP "\fB\-k, \-\-keys\fR \fIcolnum,...;... | collabel,...;...\fR" 4
188 .IX Item "-k, --keys colnum,...;... | collabel,...;..."
189 This value is mode specific. It specifies column keys to use for merging
190 all specified text files into first text file. The column keys are specified by
191 column numbers or labels for each text file delimited by \*(L";\*(R".
192 .Sp
193 By default, data rows from text files are merged into first file in the order they appear.
194 .Sp
195 For \fIcolnum\fR mode, input value format is:\fIcolkeynum, colkeynum;...\fR. Example:
196 .Sp
197 .Vb 1
198 \& "1;3;7"
199 .Ve
200 .Sp
201 For \fIcollabel\fR mode, input value format is:\fIcolkeylabel, colkeylabel;...\fR. Example:
202 .Sp
203 .Vb 1
204 \& "Mol_Id;Mol_Id;Cmpd_Id"
205 .Ve
206 .IP "\fB\-m, \-\-mode\fR \fIcolnum | collabel\fR" 4
207 .IX Item "-m, --mode colnum | collabel"
208 Specify how to merge text files: using column numbers or column labels.
209 Possible values: \fIcolnum or collabel\fR. Default value: \fIcolnum\fR.
210 .IP "\fB\-o, \-\-overwrite\fR" 4
211 .IX Item "-o, --overwrite"
212 Overwrite existing files.
213 .IP "\fB\-\-outdelim\fR \fIcomma | tab | semicolon\fR" 4
214 .IX Item "--outdelim comma | tab | semicolon"
215 Output text file delimiter. Possible values: \fIcomma, tab, or semicolon\fR
216 Default value: \fIcomma\fR.
217 .IP "\fB\-q, \-\-quote\fR \fIyes | no\fR" 4
218 .IX Item "-q, --quote yes | no"
219 Put quotes around column values in output text file. Possible values: \fIyes or
220 no\fR. Default value: \fIyes\fR.
221 .IP "\fB\-r, \-\-root\fR \fIrootname\fR" 4
222 .IX Item "-r, --root rootname"
223 New text file name is generated using the root: <Root>.<Ext>. Default file
224 name: <FirstTextFileName>1To<Count>Merged.<Ext>. The csv, and tsv
225 <Ext> values are used for comma/semicolon, and tab delimited text files
226 respectively.
227 .IP "\fB\-s, \-\-startcol\fR \fIcolnum | collabel\fR" 4
228 .IX Item "-s, --startcol colnum | collabel"
229 This value is mode specific. It specifies the column in first text file which is
230 used for start merging other text files.For \fIcolnum\fR mode, specify column
231 number and for \fIcollabel\fR mode, specify column label.
232 .Sp
233 Default value: \fIlast\fR. Start merge after the last column.
234 .IP "\fB\-\-startcolmode\fR \fIbefore | after\fR" 4
235 .IX Item "--startcolmode before | after"
236 Start the merge before or after the \fB\-s, \-\-startcol\fR value. Possible values: \fIbefore or after\fR
237 Default value: \fIafter\fR.
238 .IP "\fB\-w, \-\-workingdir\fR \fIdirname\fR" 4
239 .IX Item "-w, --workingdir dirname"
240 Location of working directory. Default: current directory.
241 .SH "EXAMPLES"
242 .IX Header "EXAMPLES"
243 To merge Sample2.csv and Sample3.csv into Sample1.csv and generate
244 NewSample.csv, type:
245 .PP
246 .Vb 2
247 \& % MergeTextFiles.pl \-r NewSample \-o Sample1.csv Sample2.csv
248 \& Sample3.csv
249 .Ve
250 .PP
251 To merge all Sample*.tsv and generate NewSample.tsv file, type:
252 .PP
253 .Vb 2
254 \& % MergeTextFiles.pl \-r NewSample \-\-indelim comma \-\-outdelim tab \-o
255 \& Sample*.csv
256 .Ve
257 .PP
258 To merge column numbers \*(L"1,2\*(R" and \*(L"3,4,5\*(R" from Sample2.csv and Sample3.csv
259 into Sample1.csv starting before column number 3 in Sample1.csv and to generate
260 NewSample.csv without quoting column data, type:
261 .PP
262 .Vb 3
263 \& % MergeTextFiles.pl \-s 3 \-\-startcolmode before \-r NewSample \-q no
264 \& \-m colnum \-c "all;1,2;3,4,5" \-o Sample1.csv Sample2.csv
265 \& Sample3.csv
266 .Ve
267 .PP
268 To merge column \*(L"Mol_ID,Formula,MolWeight\*(R" and \*(L"Mol_ID,NAME,ChemBankID\*(R"
269 from Sample2.csv and Sample3.csv into Sample1.csv using \*(L"Mol_ID\*(R" as a column keys
270 starting after the last column and to generate NewSample.tsv, type:
271 .PP
272 .Vb 3
273 \& % MergeTextFiles.pl \-r NewSample \-\-outdelim tab \-k "Mol_ID;Mol_ID;
274 \& Mol_ID" \-m collabel \-c "all;Mol_ID,Formula,MolWeight;Mol_ID,NAME,
275 \& ChemBankID" \-o Sample1.csv Sample2.csv Sample3.csv
276 .Ve
277 .SH "AUTHOR"
278 .IX Header "AUTHOR"
279 Manish Sud <msud@san.rr.com>
280 .SH "SEE ALSO"
281 .IX Header "SEE ALSO"
282 JoinTextFiles.pl, MergeTextFilesWithSD.pl, ModifyTextFilesFormat.pl, SplitTextFiles.pl
283 .SH "COPYRIGHT"
284 .IX Header "COPYRIGHT"
285 Copyright (C) 2015 Manish Sud. All rights reserved.
286 .PP
287 This file is part of MayaChemTools.
288 .PP
289 MayaChemTools is free software; you can redistribute it and/or modify it under
290 the terms of the \s-1GNU\s0 Lesser General Public License as published by the Free
291 Software Foundation; either version 3 of the License, or (at your option)
292 any later version.