Скрипт для распаковки архивов


#!/bin/bash
if [ -f $1 ] ; then
 case $1 in
  *.tar.bz2) tar xvjf $1 ;;
  *.tar.gz) tar xvzf $1 ;;
  *.bz2) bunzip2 $1 ;;
  *.rar) unrar x $1 ;;
  *.gz) gunzip $1 ;;
  *.tar) tar xvf $1 ;;
  *.tbz2) tar xvjf $1 ;;
  *.tgz) tar xvzf $1 ;;
  *.zip) unzip $1 ;;
  *.Z) uncompress $1 ;;
  *.7z) 7z x $1 ;;
  *) echo "'$1' cannot be extracted via script" ;;
 esac
else
 echo "'$1' is not a valid file"
fi

Реклама
    • Олег
    • 27.08.2012

    #!/bin/bash
    lstSupportedArchiveExts=»rar,zip,tar,tar.bz2,tar.gz»
    upck_zip=’/sbin/bin/unzip «%f» -d «%d»‘
    upck_rar=’/sbin/bin/unrar x «%f» «%d»‘
    upck_tar=’/bin/tar -xf «%f» -C «%d»‘
    upck_tar_bz2=’/bin/tar -xjf «%f» -C «%d»‘
    upck_tar_gz=’/bin/tar -xzf «%f» -C «%d»‘

    find ./ -maxdepth 1 -type f | while read fileArchive; do
    fileArchive=»${fileArchive#./}»
    echo «=======> $fileArchive <=======" | tr 'a-z' 'A-Z'
    for fileArchive_ext in $(echo "$lstSupportedArchiveExts" | tr ',' ' '); do
    echo "${fileArchive}" | egrep -q "\.${fileArchive_ext}$" && break
    done
    if [ $? -eq 0 ]; then
    dir2Unpack_fileArchive="${fileArchive%%.$fileArchive_ext}"
    [ -d "$dir2Unpack_fileArchive" ] || mkdir -p "$dir2Unpack_fileArchive"
    echo -n "Unpacking $fileArchive… "
    cmd2exec="upck_${fileArchive_ext//./_}"
    echo -n "$cmd2exec"
    cmd2exec="`echo \"${!cmd2exec}\" | sed \"s&%f&${fileArchive}&g; s&%d&${dir2Unpack_fileArchive}&g\"`"
    { eval "$cmd2exec" && echo 'OK'; } || echo 'FAILURE!'
    else
    echo "Fuck!!!, file $fileArchive is not an archive or unpacking of this archive type is unsupported by me"
    continue
    fi
    done

    Вот такой скриптик тоже работает :)

  1. No trackbacks yet.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: