Strona 2 z 2

: 04 grudnia 2011, 18:37
autor: sponsoriada
A czy tak osiągnę pożądany efekt?

Kod: Zaznacz cały

repo="/root/Dokumenty/Skrypty/backup/repo.txt"
exec 6<$repo
while read -u 6 a; do
tar a
done
Czy w ten sposób najpierw pobierze pierwszą ścieżkę z pliku zrobi tara i dopiero powtórzy tą czynność?

: 04 grudnia 2011, 21:00
autor: lessmian2
Nie wiem co Ty wykombinowałeś, ale to co Ci podałem robi dokładnie to o co Ci chodzi.

: 04 grudnia 2011, 21:10
autor: sponsoriada
Tylko ja do końca nie rozumiem, a raczej nie wiem ja kto przełożyć więc może tak:
Jest plik "repo.txt". W nim znajdują się ścieżki do katalogów, które mają być tarowane.
I teraz czy to miałoby wyglądać tak:

Kod: Zaznacz cały

while read repo.txt line; 
do
tar -cvf  $line /katalog/do/ktorego/..
done < repo.txt
Czy ja źle to rozumiem?

Co daje nam:

Kod: Zaznacz cały

done<repo.txt
Zaczynam dopiero programowanie w bashu więc proszę o cierpliwość i z góry dziękuję za pomoc i cierpliwość!

: 05 grudnia 2011, 15:39
autor: kodama
Prawie tak - linijka

Kod: Zaznacz cały

tar -cvf  $line /katalog/do/ktorego/..
powinna wyglądać nieco inaczej

Kod: Zaznacz cały

tar -cvf [B]/katalog/do/ktorego/archiwum.tgz[/B] $line

: 05 grudnia 2011, 17:31
autor: lessmian2

Kod: Zaznacz cały

while read zmienna;
do
  coś
done<plik
Oznacza "dopóki (while) czytasz (read) z pliku (done<plik) rób coś (do coś)". Plik jest przetwarzany linia po linii. Czytałeś jakiś kurs basha i *przerobiłeś samodzielnie* kilka przykładów?

: 19 stycznia 2012, 23:30
autor: sponsoriada
Napotkałem teraz inny problem przy pisaniu skryptu. Potrzebuję znaleźć w wierszu wyrażenie zaczynające się od ":" i kończące "6". Znalazłem polecenie który robi dokładnie odwrotną rzecz.

Kod: Zaznacz cały

 sed -e 's/:.*6//'

Z góry dziękuję.

: 20 stycznia 2012, 09:56
autor: kodama
To powinno być chyba dobre:

Kod: Zaznacz cały

sed -e 's/.*:\(.*\)6.*/\1/'

: 20 stycznia 2012, 10:07
autor: sponsoriada
Super działa!
Mam jeszcze taką prośbę jak możesz rozpisać mi po kolei jak to wyrażenie działa.
Byłbym bardzo wdzięczny.

: 20 stycznia 2012, 20:05
autor: Bastian
Przeczytaj podręcznik systemowy:

Kod: Zaznacz cały

man sed
albo jakikolwiek inny poradnik.