R/count.lines.R

Defines functions count.lines

Documented in count.lines

#' Conta número de linhas de um arquivo de texto, zipado ou bzipado ou xzeado
#'
#' @param filename Caractere. Caminho do arquivo
#'
#' @export
count.lines <- function(filename){
    if (endsWith(filename, 'csv'))
        return(as.integer(system2('wc',
                                  args=c('-l', filename, ' | cut -d" " -f1'),
                                  stdout=T)))
    else if (endsWith(filename, 'zip'))
        return(as.integer(system2('unzip', args=c('-c', filename, '| wc -l'),
                                  stdout=T)))
    else if (endsWith(filename, 'bz2'))
        return(as.integer(system2('bzgrep', args=c('-c', '$', filename),
                                  stdout=T)))
    else if (endsWith(filename, 'xz'))
        return(as.integer(system2('xzgrep', args=c('-c', '$', filename),
                                  stdout=T)))
    else {
        print("Tipo de arquivo desconhecido")
        return(0)
    }
}
covid19br/now_fcts documentation built on Feb. 10, 2021, 9:42 a.m.