SCM - Compressão em Massa

Publicado por Slackjeff (última atualização em 28/06/2018)

[ Hits: 1.352 ]

Homepage: https://slackjeff.com.br

Download scm




Simples compressão em massa (bash, ksh, zsh).

Modo de uso e outras informações:

https://notabug.org/jeffersonrocha/scm/raw/master/README.md

  



Esconder código-fonte

#!/usr/bin/env bash
#=============HEADER================================================|
#AUTOR
#  Jefferson Rocha <lrcjefferson@gmail.com> 
#
#PROGRAM
#  SCM - Simple Compreension Mass
#
#DESC
#
#TESTED SHELLS:
# Bash: version 4.3.48
# Ksh:  version 93u+
# Zsh:  version 5.2
#
#CHANGELOG
#===================================================================|

#=========VARS============================|
#==CONFIGURATIONS
# Create MD5 file?
MD5="0" # 0 OFF | 1 ON
readonly NAME="SCM"
readonly VERSION="0.1"
#==Colors
bold=$(tput bold)
fg_error=$(tput setaf 1)
fg_ok=$(tput setaf 2)
fg_end=$(tput sgr0)
#=========================================|

#=========TESTES==========================|
deps=("gzip" "tar" "md5sum") # program dependencies
for x in "${deps[@]}"; {
    if ! type -p "${x}" 1> /dev/null 2>&1; then
        # MD5 enabled and installed on system?
        if [ "${x}" = "${deps[2]}" ] && [ "$MD5" = "1" ] ; then
            printf "${bold}${fg_error}U NEED INSTALL '${x}' FOR CONTINUE;${fg_end}\n"
            exit 1
        else
            continue
        fi
        printf "${bold}${fg_error}U NEED INSTALL '${x}' FOR CONTINUE;${fg_end}\n"
    fi
}
#=========================================|

#========FUNCTIONS========================|
USAGE(){
cat <<EOH
   USAGE HERE.
EOH

exit 0
}

_COMPRESS(){
# Local variables:
typeset INPUT_TYPE
typeset ARCHIVE

    until [ -z "$1" ]; do # Main loop
        [ -d "$1" ] && INPUT_TYPE="DIRECTORY" || INPUT_TYPE="ARCHIVE"  # Input type.
            [ ! -w "$1" ] && { printf "NO PERMISSION!"; continue ;}    # Have permission write?
            ARCHIVE="${1/%\//}-${INPUT_TYPE}.gz"
            if tar cf - "$1" | gzip -9 > "${ARCHIVE}"; then
               [ "$MD5" = "1" ] && md5sum "${ARCHIVE}" > "${ARCHIVE}.md5" # ON? Generate .md5 file
                printf "${bold}${fg_ok}'${1}'......\t[OK]${fg_end}\n"
            else
                printf "${bold}${fg_error}'${1}......\t[ERROR]'${fg_end}\n"
            fi
            shift # Downnn!
    done
}
#=========================================|

# no params? go function.
[ "$#" = "0" ] && USAGE

#################
# MAINLAND here #
#################
if [ "$1" = "compress" ]; then
    shift # Palmeiras
    if [ -z "$1" ]; then
        USAGE
    else
        _COMPRESS "$@"
    fi
elif [ "$1" = "usage" ] || [ "$1" = "help" ]; then
    USAGE
fi

Scripts recomendados

baixar mp3 do site mp3tube.net

ison - testar conectividade da máquina

Tags de Cores e formatação no Terminal

Script para converter um diretório de arquivos em mp3 para ogg.

Descobrindo a que tipo de repositório um pacote pertence


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts