Archivace každé složky samostatné (7zip)

Archivace každé složky samostatné (7zip)
« kdy: 14. 08. 2022, 23:22:19 »
Ahoj,

Už jsem bezradná, na internetu jsem našla hodně příkazů ale žádný nefunguje správně.

Potřebovala bych abych v příkazu nastavila složku a všechny podsložky se archivovali do "7zip" samostatně.
(Pouze složky bez souborů)

Takto: https://i.ibb.co/g7kZq8v/image.png
Obrázek je z Windows ale potřebuji příkaz pro Linux mám Ubuntu.

7zz: https://hastebin.com/ahitasivad.sql

Něco takového ale tohle je bohužel pro Windows:  https://www.wikihow.com/Use-7Zip-to-Create-Multiple-Compressed-Folders-in-One-Go


Re:Archivace každé složky samostatné (7zip)
« Odpověď #1 kdy: 14. 08. 2022, 23:45:32 »
jsem zapomněla, že bych ideálně chtěla bash skript který bych dala do složky a spustila stejně jako na Windows.

Tedy aby pracoval s aktuální složkou kde je umístěn něco jako "%~dp0" u Windows.

RDa

  • *****
  • 2 779
    • Zobrazit profil
    • E-mail
Re:Archivace každé složky samostatné (7zip)
« Odpověď #2 kdy: 15. 08. 2022, 00:46:46 »
mala napoveda:
Kód: [Vybrat]
cd CESTA
find . -maxdepth 1 ! -path . -type d -exec echo 7z a {}.7z {} \;

Re:Archivace každé složky samostatné (7zip)
« Odpověď #3 kdy: 15. 08. 2022, 14:56:36 »
%~dp0 na Windows údajně znamená disk a cesta k aktuálně spuštěnému programu. V linuxu je cesta k aktuálně spuštěnému programu uložená v proměnné prostředí $0 (včetně názvu souboru). Takže cestu k adresáři, kde je skript uložen, si můžete uložit do proměnné ROOT_DIR třeba takhle:
Citace
#!/bin/bash
ROOT_DIR=`dirname $0`

Pak už stačí ten adresář jenom pomocí find projít.