BASH- katalogi i kompresja

0

Witam.Mam problem z skryptem, który ma za zadanie skompresować wszystkie pliki do oddzielnych archiwów(do tego momentu ogarniam sprawę). I następnie archiwa umieścić w katalogu Kompresja.
Struktura katalogów:

/dane
/wynik/kompresja

Skrypt:

#!/bin/sh
mkdir -p wynik/kompresja
cd dane
for i in *; do tar -czf $i.tar.gz $i; done

Jak te archiwa mam przenieść do katalogu /wynik/kompresja? Próbowałem opcji -C wynik/kompresja w Tar, ale wyświetla błąd

0

Można zrobić to tak:

...
for i in *; do tar -czf $i.tar.gz $i;n=$(echo $i".tar.gz"); mv ./$n ../wynik/kompresja; done

Jeżeli katalog był pusty na początku to można przenieść wszystko:

mv ./*  ../wynik/kompresja
 

Nie powoduje to małej wydajności jeżeli oba katalogi leżą na jednym systemie plików.
Albo jeszcze inaczej:

for i in *; do tar -czf ../wynik/kompresja/$i.tar.gz $i; done
 

Do wyboru ;)

0

Wielkie dzięki za pomoc, wszystko działa :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1