Podpora :: RAR Features

2019-06-20 14:37:28
Tom
Doplnění ignorace case sensitive u linux verze

Dobrý den,

řeším zde malý problém. Pokud použiju přepínač -ms, RAR má nadefinováno nějaké default přípony, které uloží bez komprese.
Bohužel linux je case sensitive a např. příponu *.TAR.GZ se pokouží komprimovat.
To samé platí i pro soubor RarFiles.lst.

Šlo by to udělat tak, aby RAR ignoroval velikosti znaků?

Teď je nutné tu příponu napsat několikrát, např. "-ms*.7z;*.7z.*;*.ace;*.arj;*.bz2;*.cab;*.gz;*.jpeg;*.jpg;*.png;*.lha; *.lz;*.lzh;*.mp3;*.rar;*.taz;*.tgz;*.xz;*.z;*.zip;*.zipx;*.ogg;*.opus;*.deb ;*.rpm;*.7Z;*.7Z.*;*.ACE;*.ARJ;*.BZ2;*.CAB;*.GZ;*.JPEG;*.JPG;*.PNG;*.LHA;*. LZ;*.LZH;*.MP3;*.RAR;*.TAZ;*.TGZ;*.XZ;*.Z;*.ZIP;*.ZIPX;*.OGG;*.OPUS;*.DEB;* .RPM"

2019-06-20 20:23:05
Ľubomír Mlích
Re: Doplnění ignorace case sensitive u linux verze

Navrhuji využít nástrojů dostupných v linuxu. Když udělám:

$ echo "*.txt *.TXT" > pripony.tmp
$ echo "jedna" > 1.txt
$ echo "dva" > 2.TXT
$ cat `cat pripony.tmp`

Výstup bude:

jedna
dva

Podobně když si do souboru pripony.tmp uložíte všechny přípony, které vás zajímají, můžete příště místo příkazu:

$ rar <command> -<switch 1> -<switch N> <archive> <files...> <@listfiles...> <path_to_extract\>

zavolat příkaz:

$ rar <command> -<switch 1> -<switch N> <archive> `cat pripony.tmp` <@listfiles...> <path_to_extract\>
2019-06-21 19:55:00
Ľubomír Mlích
Re: Doplnění ignorace case sensitive u linux verze

no, ten příkaz mám špatně, protože chcete s rarem dělat jiné věci, než já. Ale principielně by to mělo fungovat i pro váš případ

2019-06-20 21:11:41
Tom
Re: Doplnění ignorace case sensitive u linux verze

U souborů chci zachovat velikosti znaků.
Protože se mi to nechce psát dokola, využívám možnost RARu (která je popsána v dokumentaci) a to načtení příkazu ze souboru ".rarrc", který jsem uložil do své domovské složky.
Teď jsem náhodou narazil na soubor *.Cab, který to komprimovalo, místo rychlého uložení.

Můj soubor s příkazem: https://uloz.to/!DfrUvfILTEXE/rarrc-rar

Jinak <@listfiles...> je na linuxu nebezpečné používat, protože dokáže rozbít strukturu souborů / složek, pokud tam jsou odkazy.

2019-06-21 22:02:00
Ľubomír Mlích
Re: Doplnění ignorace case sensitive u linux verze

ok, myslím, že chápu v čem je problém a pošlu to dál. Díky.

Co se týče listfiles, můžu zkusit a uvidíme jestli se mi podaří vyvolat vámi popisovaný problém.

 

2019-06-21 22:29:16
Ľubomír Mlích
Re: Doplnění ignorace case sensitive u linux verze

Problém se seznam souborů nevidím, prosím o založení nového vlákna s podrobnějším popisem, jak problém vyvolat. Díky.

2019-06-22 10:51:55
Ľubomír Mlích
Re: Doplnění ignorace case sensitive u linux verze

Eugene říkal, že problém case sensitive / insensitive - v linuxu a windows je obecný a nevypadalo to, že by to plánoval zařadit. Přejmenovat názvy souborů na malé znaky by mělo být možné v linuxu příkazem:

find my_root_dir -depth -exec rename 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;

podle https://stackoverflow.com/questions/152514/how-to-rename-all-folders-and-fi les-to-lowercase-on-linux

2019-06-22 11:51:02
Tom
Re: Doplnění ignorace case sensitive u linux verze

Přejmenovat soubory na malé znaky nepřipadá do úvahy.
Příklad:
tohle se může stát: https://i.postimg.cc/6ybQpgrt/001.png (RAR je dokonce dokáže dostat i do jednoho archivu)
Pokud v nějakém souboru je odkaz na otevření dalšího souboru např. "test.TXT" a já díky přejmenování budu mít "test.txt", tak dojde k hlášce, že soubor neexituje.

Ve Windows je tento problém řešen na úrovni OS.

--------------

Problém s listfiles je řešen zde: https://www.rar.cz/forum_messages.php?tid=875