divecmd2divecmd —
manipulate files produced by divecmd
divecmd2divecmd |
[-jsv]
[-l
limit]
[file ...] |
The
divecmd2divecmd utility accepts divelog files
produced by
divecmd(1) and manipulates their
contents: it can split individual dives into multiple dives; join multiple
dives into a single dive; or join multiple divelogs into a single divelog,
which is the default. Its arguments are as follows:
-
-
- -l
limit
- Limit which dives are emitted. See
Limits for details.
-
-
- -j
- Join a sequence of dives within a divelog into a single
dive.
-
-
- -s
- Split a single dive into a sequence of dives by its surface
intervals.
-
-
- -v
- Emit warnings during parse. Specify twice for further
debugging information.
Splitting (
-s) is useful for establishing
“canonical free dive mode”, wherein each dive in a sequence has
its own dive profile and surface time is omitted. Many dive computers
automatically produce canonical free diving mode, for example, the Suunto D6i.
Others, like the HW OSTC 2C, do not, and instead put all dives into one,
including surface time. The new split dives are given a fingerprint formatted
as
fingerprint-num
, where “fingerprint”
is from the dive being split.
Joining (
-j) is useful when exporting data into
Subsurface, which expects a single dive profile. Here, a set of dives are
merged into a single one. The new merged dive is given a fingerprint formatted
as
fingerprint-join
, where “fingerprint”
is from the first dive entry.
If dives already are split,
-s does nothing; same
goes with
-j and dives already being joined. For
both modes, dives not using the same dive computer as the first (by date) are
omitted. The diver identity is ignored.
If invoked using neither
-j nor
-s, all dives are merged into a single divelog.
All dives must have the same dive computer as the first (by date), else they
are omitted, and duplicate fingerprints are also omitted.
divecmd2divecmd produces output on standard output
as documented in
divecmd(1).
Processed dives may be limited with the
-l
limit option consisting of
key=
value
limit pairs. The keys may be as follows:
-
-
- dafter=date
- Dives starting after (inclusive) the
date.
-
-
- dbefore=date
- Dives starting before (inclusive) the
date.
-
-
- date=date
- Dives starting on the
date.
-
-
- dive=pid
- The dive as described by its
divecmd2list(1) parse identifier.
-
-
- mode=free|open|closed|gauge
- Dives matching the
mode.
-
-
- dtafter=datetime
- Dives starting after (inclusive) the
datetime.
-
-
- dtbefore=datetime
- Dives starting before (inclusive) the
datetime.
Dates are always formatted as YYYY-mm-dd. Date-times are formatted as
YYYY-mm-ddTHH:MM.
The
divecmd2divecmd utility exits 0 on
success, and >0 if an error occurs.
divecmd(1)
The
divecmd2divecmd utility was written by
Kristaps Dzonsons,
kristaps@bsd.lv.
Some data (e.g., vendor events) are ignored during conversion. These are
reported to standard error.