## Name

csv2yapet — convert CSV file to YAPET file

## Synopsis

`csv2yapet` [[`-c`] | [`-h`] | [`-V`]] [`-p` {`password`}] [`-q`] [`-s` {`separator`}] {`src`} {`dst`}

## DESCRIPTION

Convert a CSV file `src` to an YAPET file `dst`. The default character for delimiting the fields is ',' (comma) unless specified otherwise on the command line by providing the `-s` option (refer to the section called “OPTIONS”).

Fields containing the field separator character have to be enclosed in double quotes (").

In order to convert a double quote character it has to be preceded by another double quote character (see the section called “EXAMPLES”).

The following table describes the fields of the source CSV file as expected by csv2yapet:

Table 1. Source file format

Column # | YAPET Record Field | Maximum size in bytes
--- | --- | ---
1 | Record Name | 127
2 | Host Name | 255
3 | User Name | 255
4 | Password | 255
5 | Comment | 511

See the section called “EXAMPLES” for an example CSV file.

## OPTIONS

The following options are supported:

`-c`

  Show copyright.

`-h`

  Show help.

`-V`

  Show version.

`-p` `password`

  The password to be used to encrypt the YAPET file. If csv2yapet is invoked without this option, it will prompt for the password on the standard input.

`-q`

  Enable the quiet mode. No details about errors are reported.

`-s` `separator`

  Change the default field separator ',' (comma) to the single character `separator`.

## OPERANDS

The following operands are required:

`src`

  The source CSV file to be converted. It must be of the format described in Table 1, “Source file format”.

`dst`

  The resulting YAPET file holding the content of `src` encrypted. This file must not exist prior to the conversion process, else csv2yapet will not start the conversion and abort.

## EXAMPLES

Example 1. An example of a CSV file accepted by csv2yapet.

The following example shows an excerpt of a CSV file as accepted for conversion by csv2yapet.

As the second line shows, fields can be blank but the separator may not be omitted.

    ssh host,host.example.org,johndoe,secret,Linux machine
    mail account,imap.email.org,john_doe,secret,
    …

Example 2. An example of a CSV file accepted by csv2yapet using double quotes.

The following example shows an excerpt of a CSV file as accepted for conversion by csv2yapet.

The first line demonstrates how to double quote fields containing the separator character. The second line shows how to literally convert double quote characters.

    "ssh, ftp, and http server",server.example.org,johndoe,secret,Linux machine
    mail account,imap.email.org,john_doe,secret,"John ""the Unknown"" Doe"
    …

Example 3. Invoking csv2yapet.

The following example shows how to invoke csv2yapet in order to convert a CSV file to an YAPET file. If the `-s` option is not given, csv2yapet will ask for a password as shown:

    $ csv2yapet passwords.csv passwords.pet
    Please enter the password for passwords.pet:
    Please re-type the password:

    passwords.pet successfully created.
    $

## EXIT STATUS

0

  No error.

1

  Error while parsing command line argument.

2

  The passwords provided on the standard input do not match.

3

  The destination file ``dst`` already exists.

4

  An unexpected error occurred.

## BUGS

Please report bugs to http://bugs.guengel.ch/.

## AUTHOR

Rafael Ostertag `<rafi@guengel.ch>`

## SEE ALSO

yapet(1), yapet2csv(1)