Converting Datafiles from One Format to Another
Problem
You want to convert a file to a different format to make it easier to work with, or so that another program can understand it.
Solution
Use the cvt_file.pl converter script described
here.
Discussion
The mysql_to_text.pl script discussed in Recipe 10.18 uses MySQL as a data source and produces
output in the format you specify via the
--delim, --quote, and
--eol options. This section describes
cvt_file.pl,
a utility that provides similar formatting options, but for both
input and output. It reads data from a file rather than from MySQL,
and converts it from one format to another. For example, to read a
tab-delimited file data.txt, convert it to
colon-delimited format, and write the result to
tmp, you would invoke
cvt_file.pl like this:
% cvt_file.pl --idelim="\t" --odelim=":" data.txt > tmpThe cvt_file.pl script has separate options for
input and output. Thus, whereas mysql_to_text.pl
has just a --delim for specifying the column
delimiter, cvt_file.pl has separate
--idelim and --odelim
options to set the input and output line column delimiters. But as a
shortcut, --delim is also supported; it sets
the delimiter for both input and output. The full set of options that
cvt_file.pl
understands is as follows:
-
--idelim=str,--odelim=str,--delim=str Set the column delimiter sequence for input, output, or both. The option value may consist of one or more characters.
-
--iquote=c,--oquote=c,--quote=c Set the column quote character for ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access