motofan logo
Motorola Ситилинк
       
> 

Скрипт для массовой распаковки архивов программ, С помощью этого BASH-скрипта можно распаковать в отдельные каталоги вс

DRVTiny
сообщение 6.8.2007, 15:46


Новичок
*

Группа: Пользователи
Сообщений: 18
Регистрация: 26.7.2007
Из: Moscow
Пользователь №: 142 544
Модель телефона: Motorola ROKR E6
Прошивка: R533_G_11.12.06PBP

Рейтинг: 0



Скрипт написан на BASH для себя just for fun, он позволяет быстро распаковать все архивы в одной папке, аккуратно разложив содержимое каждого архива в свою вложенную папку (каталог вообще-то, но это уже определяется рамками используемой терминологии).
Очень полезен для распаковки архивов программ, тем и т.д. для последующего копирования их на карту памяти смартфона.
Прикрепленный файл unpack.txt   ( 1.03 килобайт ) Кол-во скачиваний: 431
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
innos
сообщение 27.8.2012, 17:45


Новичок
*

Группа: Пользователи
Сообщений: 1
Регистрация: 27.8.2012
Пользователь №: 236 581
Модель телефона: HTC


Настроение:
shit...



Рейтинг: 0



Цитата(DRVTiny @ 6.8.2007, 16:46) *

Скрипт написан на BASH для себя just for fun, он позволяет быстро распаковать все архивы в одной папке, аккуратно разложив содержимое каждого архива в свою вложенную папку (каталог вообще-то, но это уже определяется рамками используемой терминологии).
Очень полезен для распаковки архивов программ, тем и т.д. для последующего копирования их на карту памяти смартфона.



У меня на OpenSuSe не заработал, после правки всё работает:

#!/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

Сообщение отредактировал innos - 27.8.2012, 17:45
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Скрипт для массовой распаковки архивов программ, С помощью этого BASH-скрипта можно распаковать в отдельные каталоги вс · Motorola на Linux · Forum
 

Motorola Ситилинк
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 16.10.2019, 2:56

Форум живёт: