Доброго дня господа.
Не определился куда запостить, в силу отсутствия раздела для солюшенов.
Работал на чужом сервере, без внешних интернетов, и нужно было работать с тучей архивов.
Пришлось быстро накатать пару строк, для удобства распаковки.
Наверняка свелосепедировал, но если нет интернетов, может кому тоже пригодиться.
Архиватор p7zip.
В bashrc :
# path detect
unarchive(){
if [[ $(echo "$1" | grep "/") ]]; then
archive_name="$(basename $1)"
work_path="$(echo "$1" | sed -e "s/$(echo "$1" | awk -F '/' '{print $NF}')//")"
else
archive_name="$1"
work_path="./"
fi
# for double file extension (*.tar.*)
if [[ "$(echo "$archive_name" | awk -F '.' '{print $(NF-1)}')" == "tar" ]]; then
last_ext_name=$(echo "$archive_name" | awk -F '.' '{print $NF}')
7z x -o"$work_path" "$work_path$archive_name"
7z x -o"$work_path$(echo "$archive_name" | sed -e "s/.tar.$last_ext_name//")" "$work_path$(echo "$archive_name" | sed -e "s/.$last_ext_name//")"
rm "$(echo "$work_path$archive_name" | sed -e "s/.$last_ext_name//")"
cd $(echo "$work_path$archive_name" | sed -e "s/.tar.$last_ext_name//")
return
fi
#for other archives
7z x -o"$(echo "$work_path$archive_name" | sed -e "s/.$(echo "$work_path$archive_name" | awk -F '.' '{print $NF}')//")" "$work_path$archive_name"
cd $(echo "$work_path$archive_name" | sed -e "s/.$(echo "$work_path$archive_name" | awk -F '.' '{print $NF}')//")
Для и своего удобства, оставил пост на сдешней вике.
Всем хорошего дня.
Перемещено tazhate из talks