Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Zip - správna diakritika po rozbalení  (Přečteno 3620 krát)

fish

  • Aktivní člen
  • *
  • Příspěvků: 307
Zip - správna diakritika po rozbalení
« kdy: 16 Června 2010, 12:20:08 »
Po rozbalení archívu zip súbory, ktoré majú v názve diakritiku majú zlé názvy.
Vytvoril som script ktorý prevedie zip archív na 7-zip. S tým sa dá pracovať v Linuxe bez problémov.

1)
Treba nainštalovať 7zip
Kód: [Vybrat]
sudo apt-get install p7zip-full
2)
Nahrať z edisk 32bit/64bit unzip 5.52 + script
http://www.edisk.sk/stahni/29547/zip27z_32.7z_45.93KB.html
http://www.edisk.sk/stahni/05549/zip27z_64.7z_52.97KB.html

3)
Rozbaliť archív, potom
Kód: [Vybrat]
mv unzip ~/bin/unzip
mv zip27z ~/.gnome2/nautilus-scripts/Konverzia\ zip\ na\ 7z
odhlásiť/prihlásiť sa (alebo reštart)

4)
Uznačiť .zip archívy v nautilus, pravé tlačítko myši, skripty, Konverzia zip na 7z
Zip archívy sa presunú do koša.

Na edisk balíky vydržia mesiac, potom treba
Script zip27z vytvoriť
Kód: [Vybrat]
#! /bin/bash
#
# Script rozbali subor .zip, zbali subory do .7z
# Subor .zip sa presunie do kosa (pokial je povoleny kos)
# Potrebuje baliky: unzip 5.52 z ubuntu 9.10, zenity, 7zip
#
# Limity:
# - spracuje archivy .zip zadané v príkazovom riadku (nepozna *)
# - iba znaky z CP1250/Latin2 ruske, cinske... nedokaze
#
# prikaz:
# for i in *.zip; do zip27z "$i"; done
# prevod vsetkych .zip v adresari.
#
# prikaz:
# bash -c 'shopt -s nocaseglob; for i in *.zip; do zip27z "$i"; done'
# prevod vsetkych .zip .ZIP .Zip ... v adresari.
#

CWD=`pwd`

## Funkcia prebal :)
##
prebal ()
{

TMPDIR=`mktemp -d`
NAME=${1%.*}
FILE7z=$NAME.7z
cd $TMPDIR

## Existuje subor?
if [ ! -f "$CWD/$1" ] ;then
   zenity --error --text="Subor neexistuje\nSubor: $1"
   rm -rf $TMPDIR
   return 1
fi

## Je to zip?
QWE=`file -b --mime-type "$CWD/$1" | grep application/zip`
if [ $? -ne 0 ] ;then
   zenity --error --text="Subor nie je zip archiv\nSubor: $1"
   rm -rf $TMPDIR
   return 1
fi

## Treba heslo?
QWE=`unzip -Z -s "$CWD/$1" | grep \\\-r | cut -b 30-32 | grep -E 'T|B' | wc -l`
if [ $QWE -ne 0 ] ;then
   PASSWORD=`zenity --entry --title="$1" --text="Zadaj heslo pre archív $1" --hide-text`
   if [ $? -ne 0 ] ;then
      rm -rf $TMPDIR
      return 1
   fi
else
   PASSWORD="a"
fi

## Rozbalenie zip archivu
unzip -O CP852 -P $PASSWORD "$CWD/$1"
if [ $? -ne 0 ] ;then
   zenity --error --text="Chyba pri rozbalovani (zle heslo?)\nSubor: $1"
   rm -rf $TMPDIR
   return 1
fi

## Zbalenie do 7z archivu
7z a "$FILE7z" *
if [ $? -ne 0 ] ;then
   zenity --error --text="Chyba pri kompresii\nSubor: $FILE7z"
   return 1
fi

## Vymena zip a 7z
mv "$FILE7z" "$CWD"
cd "$CWD"
rm -rf $TMPDIR
gvfs-trash "$CWD/$1"
}

## Program - zaciatok
##
if [ "$1" = "" ]; then
   echo "Pouzitie: zip27z subor.zip [subor1.zip]..."
   exit 1
fi

## Spravny unzip?
QWE=`unzip -h | grep \\\-O`
if [ $? -ne 0 ] ;then
   zenity --error --text="Nespravny unzip\nTreba unzip 5.52 z KK"
   rm -rf $TMPDIR
   exit 1
fi

## Vsetky subory
while [ "$1" ]; do
   prebal "$1"
   shift
done

exit 0

Vytiahnuť unzip z balíku unzip_5.52-12ubuntu1_amd64.deb (alebo unzip_5.52-12ubuntu1_i386.deb)

V termináli sa dá rozbaliť zip
unzip -O CP852 balík.zip
« Poslední změna: 16 Června 2010, 12:40:58 od fish »
Acer Aspire 5738ZG/Intel T4400/ATI MR HD 4650/4GB RAM :: Ubuntu 10.04 64bit/Kbuntu 10.10 64bit/Win7 HP 64bit

JackuPB

  • Návštěvník
  • Příspěvků: 34
Re: Zip - správna diakritika po rozbalení
« Odpověď #1 kdy: 28 Března 2011, 22:34:09 »
Jelikož vůbec nemám ponětí o tom, k čemu jsou skripty a jak fungují, nemám ani ponětí, jak se vůbec vytvářejí. Proto bych chtěl poprosit, zda by mi někdo nemohl ten skript nahrát na net už hotový tak, jak byl na tom edisku...
Díky moc

fish

  • Aktivní člen
  • *
  • Příspěvků: 307
Re: Zip - správna diakritika po rozbalení
« Odpověď #2 kdy: 05 Dubna 2011, 17:31:01 »
Napíš aký máš systém (32/64 bit), pridám script+unzip na edisk. Ak nevieš, daj sem výpis príkazu
Kód: [Vybrat]
uname -a
Acer Aspire 5738ZG/Intel T4400/ATI MR HD 4650/4GB RAM :: Ubuntu 10.04 64bit/Kbuntu 10.10 64bit/Win7 HP 64bit

JackuPB

  • Návštěvník
  • Příspěvků: 34
Re: Zip - správna diakritika po rozbalení
« Odpověď #3 kdy: 01 Června 2011, 16:55:45 »
Kód: [Vybrat]
Linux jakub-ntb 2.6.32-31-generic #61-Ubuntu SMP Fri Apr 8 18:24:35 UTC 2011 i686 GNU/Linux

 

Provoz zaštiťuje spolek OpenAlt.