Add support for reading and writing SPV files.
[pspp] / doc / pspp-convert.texi
1 @c PSPP - a program for statistical analysis.
2 @c Copyright (C) 2017 Free Software Foundation, Inc.
3 @c Permission is granted to copy, distribute and/or modify this document
4 @c under the terms of the GNU Free Documentation License, Version 1.3
5 @c or any later version published by the Free Software Foundation;
6 @c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
7 @c A copy of the license is included in the section entitled "GNU
8 @c Free Documentation License".
9 @c
10 @node Invoking pspp-convert
11 @chapter Invoking @command{pspp-convert}
12 @cindex Invocation
13 @cindex @command{pspp-convert}
14
15 @command{pspp-convert} is a command-line utility accompanying
16 @pspp{}. It reads an SPSS or SPSS/PC+ system file or SPSS portable
17 file or encrypted SPSS syntax file @var{input} and
18 writes a copy of it to another @var{output} in a different format.
19 Synopsis:
20
21 @display
22 @t{pspp-convert} [@var{options}] @var{input} @var{output}
23
24 @t{pspp-convert -@w{-}help}
25
26 @t{pspp-convert -@w{-}version}
27 @end display
28
29 The format of @var{input} is automatically detected, when possible.
30 The character encoding of old SPSS system files cannot always be
31 guessed correctly, and SPSS/PC+ system files do not include any
32 indication of their encoding.  Use @code{-e @var{encoding}} to specify
33 the encoding in this case.
34
35 By default, the intended format for @var{output} is inferred based on its
36 extension:
37
38 @table @code
39 @item csv
40 @itemx txt
41 Comma-separated value.  Each value is formatted according to its
42 variable's print format.  The first line in the file contains variable
43 names.
44
45 @item sav
46 @item sys
47 SPSS system file.
48
49 @item por
50 SPSS portable file.
51
52 @item sps
53 SPSS syntax file.  (Only encrypted syntax files may be converted to
54 this format.)
55 @end table
56
57 @command{pspp-convert} can convert most input formats to most output
58 formats.  Encrypted system file and syntax files are exceptions: if
59 the input file is in an encrypted format, then the output file must be
60 the same format (decrypted).  To decrypt such a file, specify the
61 encrypted file as @var{input}.  The output will be the equivalent
62 plaintext file.
63
64 The password for encrypted files can be specified a few different
65 ways.  If the password is known, use the @option{-p} option
66 (documented below) or allow @command{pspp-convert} to prompt for it.
67 If the password is unknown, use the @option{-a} and @option{-l}
68 options to specify how to search for it, or @option{--password-list}
69 to specify a file of passwords to try.
70
71 Use @code{-O @var{extension}} to override the inferred format or to
72 specify the format for unrecognized extensions.
73
74 The following options are accepted:
75
76 @table @option
77 @item -O @var{format}
78 @itemx --output-format=@var{format}
79 Specifies the desired output format.  @var{format} must be one of the
80 extensions listed above, e.g. @code{-O csv} requests comma-separated
81 value output.
82
83 @item -c @var{maxcases}
84 @itemx --cases=@var{maxcases}
85 By default, all cases are copied from @var{input} to @var{output}.
86 Specifying this option to limit the number of cases written to
87 @var{output} to @var{maxcases}.
88
89 @item -e @var{charset}
90 @itemx --encoding=@var{charset}
91 Overrides the encoding in which character strings in @var{input} are
92 interpreted.  This option is necessary because old SPSS system files,
93 and SPSS/PC+ system files, do not self-identify their encoding.
94
95 @item -p @var{password}
96 @item --password=@var{password}
97 Specifies the password to use to decrypt an encrypted SPSS system file
98 or syntax file.  If this option is not specified,
99 @command{pspp-convert} will prompt interactively for the password as
100 necessary.
101
102 Be aware that command-line options, including passwords, may be
103 visible to other users on multiuser systems.
104
105 When used with @option{-a} (or @option{--password-alphabet}) and
106 @option{-l} (or @option{--password-length}), this option specifies the
107 starting point for the search.  This can be used to restart a search
108 that was interrupted.
109
110 @item -a @var{alphabet}
111 @item --password-alphabet=@var{alphabet}
112 Specifies the alphabet of symbols over which to search for an
113 encrypted file's password.  @var{alphabet} may include individual
114 characters and ranges delimited by @samp{-}.  For example, @option{-a
115 a-z} searches lowercase letters, @option{-a A-Z0-9} searches uppercase
116 letters and digits, and @option{-a ' -~'} searches all printable ASCII
117 characters.
118
119 @item -l @var{max-length}
120 @item --password-length=@var{max-length}
121 Specifies the maximum length of the passwords to try.
122
123 @item --password-list=@var{file}
124 Specifies a file to read containing a list of passwords to try, one
125 per line.  If @var{file} is @file{-}, reads from stdin.
126
127 @item -h
128 @itemx --help
129 Prints a usage message on stdout and exits.
130
131 @item -v
132 @itemx --version
133 Prints version information on stdout and exits.
134 @end table