[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [riminilug-general] Amanith Framework v0.1b released



On Thu, Jun 30, 2005 at 08:51:42PM +0200, Gabriele Zappi wrote:
> Il giorno gio, 30-06-2005 alle 16:39 +0200, Andrea Stambazzi ha scritto:
> > La prima cosa che mi viene da dire....
> > 
> > vi prego non fate dei pacchetti tar con le directory così, che uno decomprime 
> > e fa un trito.
> 
> :-D)))
> 
> 
> .. e fare prima un bel "tar t" prima del consueto "tar x" ?

bella idea! per pigrizia ho fatto uno script bash che all'uopo crea una
directory se il tarball decompresso fara' un trito. e' in bash, se hai culo che
per primi non ci sono molti file fa presto, nel caso peggiore (paradossalmente,
quello in cui il file va bene) deve leggere tutta la lista dei file.

--8<-------------------------------------------------------
#!/bin/bash
# author Filippo Giunchedi <filippo@xxxxxxxxxxxx>
# released under public domain
i=$#
while [ $i -ge 0 ]; do
    arg=${BASH_ARGV[$i]}
    if [ $(echo "$arg" | grep -E "\.t(ar|gz)") ]; then
        fname="$arg"
    fi
    let i--
done

IFS=$'\n'
for line in $(tar tf "$arg" ); do
    outdir=$( echo "${line/#.\//}" | cut -d/ -f1 )
    if [ -z "$_outdir" ]; then _outdir=$outdir; fi

    if [ "$outdir" != "$_outdir" ]; then
        broken=yes
        break
    fi
done

if [ $broken ]; then
    fname=$( basename "$fname" | cut -d. -f1 )
    tar $@ -C $fname
else
    tar $@
fi
--8<-------------------------------------------------------

per i pigri c'e' anche su http://people.debian.org/~filippo/btar
bug report e commenti bene accetti!