.\" Copyright (c) 2013-2017 Dovecot authors, see the included COPYING file
.TH DOVEADM\-DEDUPLICATE 1 "2015-05-09" "Dovecot v2.2" "Dovecot"
.SH NAME
doveadm\-deduplicate \- expunge duplicate messages
.\"------------------------------------------------------------------------
.SH SYNOPSIS
.BR doveadm " [" \-Dv "] " deduplicate " [" \-u
.IR user |\c
.BR \-A |\c
.BI \-F " file" \c
.RB "] [" \-S
.IR socket_path "] ["\c
.BR \-m ]
.I search_query
.\"------------------------------------------------------------------------
.SH DESCRIPTION
This command is used to expunge duplicated messages in mailboxes.
.B doveadm deduplicate
is mainly useful to revert some (more or less) accidental duplication of
messages, e.g. after
.BR "doveadm copy" " or " "doveadm import" .
.BR doveadm (1)
will delete the newest duplicated messages from the mailbox and keep the
oldest.
.br
Deduplication across multiple mailboxes is not supported.
.\"------------------------------------------------------------------------
@INCLUDE:global-options@
.\"-------------------------------------
.PP
Command specific
.IR options :
.\"-------------------------------------
@INCLUDE:option-A@
.\"-------------------------------------
@INCLUDE:option-F-file@
.\"-------------------------------------
@INCLUDE:option-S-socket@
.\"-------------------------------------
.TP
.B \-m
if the
.B \-m
option is given,
.BR doveadm (1)
will deduplicate by Message\-Id header.
By default deduplication will be done by message GUIDs.
.\"-------------------------------------
@INCLUDE:option-u-user@
.\"------------------------------------------------------------------------
.SH ARGUMENTS
.TP
.I search_query
expunge duplicates found from messages matching the given search query.
Typically a search query like \(aq\fBmailbox\fP \fImailbox_name\fP
\fBOR mailbox\fP \fIother_box\fP\(aq will be sufficient.
See
.BR doveadm\-search\-query (7)
for details.
.\"------------------------------------------------------------------------
.SH EXAMPLE
This example shows how to list and expunge duplicate messages from a
mailbox.
.sp
.nf
.ft B
doveadm \-f table fetch \-u jane \(aqguid uid\(aq mailbox a_Box | sort
.ft P
guid                             uid
8aad0f0a30169f4bea620000ca356bad 18751
8aad0f0a30169f4bea620000ca356bad 18756
923e301ab9219b4b4f440000ca356bad 18748
923e301ab9219b4b4f440000ca356bad 18753
\&...
.ft B
doveadm deduplicate \-u jane mailbox a_Box
doveadm \-f table fetch \-u jane \(aqguid uid\(aq mailbox a_Box | sort
.ft P
guid                             uid
8aad0f0a30169f4bea620000ca356bad 18751
923e301ab9219b4b4f440000ca356bad 18748
a7999e1530739c4bd26d0000ca356bad 18749
\&...
.fi
.\"------------------------------------------------------------------------
@INCLUDE:reporting-bugs@
.\"------------------------------------------------------------------------
.SH SEE ALSO
.BR doveadm (1),
.BR doveadm\-copy (1),
.BR doveadm\-fetch (1),
.BR doveadm\-import (1),
.BR doveadm\-search\-query (7)