jump to navigation

Max compression with 7z 24 dicembre 2007

Posted by fripp in Bash, GNU/Linux, Informatica, Scripting, Unix.
Tags: , , , , , , , ,
trackback

Mi capita spesso di usare il tool di compressione 7-zip e mi capita sempre di dimenticare gli switch per ottenere la massima compressione dei files. Dato che mi scoccia andare a guardare ogni volta nel man, mi sono fatto un piccolo script bash che fa tutto per me. Non è nulla di eccezionale, ma mi ha semplificato un sacco la procedura di compressione (mi risparmio pure di scrivere tonnellate di switch da terminale!).

Spero possa servire ad altri.

Ecco il codice:


#!/bin/bash

function usage(){
        echo -e "\nmaxcompression: usage: maxcompression [-p] output_filename.7z input_filename"
        exit 1
    }

if [[ $# -gt 3 || $# -le 1 ]]; then
        usage
    fi

if [[ $# -eq 2 ]]; then
        output_filename=$1
        input_filename=$2
        if [[ -f "$input_filename" || -d "$input_filename" ]]; then
            7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on $output_filename $input_filename 2>/dev/null
            if [[ $? -ne 0 ]]; then
                echo "Error while compressing files"
                exit 1
            fi
        else
            echo -e "\nInsert a valid input file/directory name\n"
            echo "$input_filename is not a file/directory"
            exit 1
        fi

fi

if [[ $# -eq 3 ]]; then
        output_filename=$2
        input_filename=$3
        if [[ -f "$input_filename" || -d "$input_filename" ]]; then

if [[ $1 == "-p" ]]; then
                7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on $1 $output_filename $input_filename 2>/dev/null
                if [[ $? -ne 0 ]]; then
                    echo "Error while compressing files"
                    exit 1
                fi
            else
                usage
            fi

else
            echo -e "\nInsert a valid input file/directory name\n"
            echo "$input_filename is not a file/directory"
            exit 1
        fi
    fi

Trovi il file sorgente qui

Annunci

Commenti»

1. Maxcompression reloaded « frammenti di razionalità - 3 febbraio 2008

[…] 7z, archive format, compression, lzma, m0, manadou, mfb, mx trackback Ho migliorato lo script maxcompression in modo che adesso si possano comprimere più file alla volta. Nella prima versione dello script […]


Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: