R/Rdups.R

Defines functions dupFiles

Documented in dupFiles

#' @rdname dupFiles
#' @aliases Rdups
#' @title Find duplicate files
#' @description
#' `dupFiles` computes checksums to find duplicate files.
#'
#' @param files character: file name(s)
#' @param ... further parameters given to [digest::digest()]
#'
#' @return a list of file names with the same checksum or `NULL`
#' @importFrom digest digest
#' @export
#'
#' @examples
#' if (interactive()) {
#'   files <- list.files(pattern="*.R$", full.names=TRUE, recursive=TRUE)
#'   dupFiles(files)
#' }
dupFiles <- function(files, ...) {
  index <- 1:length(files)
  ret   <- list()
  for (i in index) {
    digi <- digest(file=files[i], ...)
    ret[[digi]] <- c(ret[[digi]], files[i])
  }
  nret <- lengths(ret)
  if (any(nret>1)) return(ret[nret>1])
  NULL
}

#' @export
#' @rdname dupFiles
Rdups <- dupFiles

Try the mmstat4 package in your browser

Any scripts or data that you put into this service are public.

mmstat4 documentation built on May 29, 2024, 11:15 a.m.