[+] bash - skrypt do pakowania plików

Potrzebujesz pomocy z C, C++, perl, python, itp.
robert2k4
Posty: 2
Rejestracja: 16 grudnia 2009, 14:03

[+] bash - skrypt do pakowania plików

Post autor: robert2k4 »

Witam!
Potrzebny mi jest skrypt do spakowania wszystkich plików znajdujących się w katalogu. Kazdy plik to osobne archiwum rar. Znalazłem i zmieniłem na swoje potrzeby coś takiego:

Kod: Zaznacz cały

ls>sources.list

# otwórz plik (/etc/apt/sources.list) do czytania
exec 6< /etc/apt/sources.list

# wczytuje kolejne wiersze aż do napotkania końca pliku
while read -u 6 deb
do
    # tutaj można robić cokolwiek z daną linią
    rar a $deb $deb
done

# zamknij plik
exec 6<&-
I mam pytanie czy to jest poprawny?
Czy aby uruchomić taki skrypt wystarczy wpisać nazwę pliku, w którym jest zapisany w terminalu?

Czy da się zrobić coś takiego aby plik rar miał nazwę np. tylko 5 pierwszych znaków pliku oryginalnego. Wiem, ze trzeba wykorzystać nową zmienną, tylko nie wiem jak zrobić by składała się ona z 5 znaków zmiennej oryginalnej. Bardzo proszę o pomoc.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Spytam się dla pewności: czy na pewno rozumiesz co robi zamieszczony przez Ciebie kod? Bo mi sie jednak nie wydaje. Czasem nie o coś takiego Ci chodziło? :

Kod: Zaznacz cały

for i in `ls`; do rar a ${i:0:4}.rar $i;done
robert2k4
Posty: 2
Rejestracja: 16 grudnia 2009, 14:03

Post autor: robert2k4 »

Bardzo dziekuje wlasnie o to mi chodzilo :)

[ Dodano: |22 Gru 2009|, 2009 20:47 ]
mam ponownie problem, co zrobic jesli plik zawiera spacje? W normalnym poleceniu wiem ze trzeba dac ' ' ale w tym skrypcie sie tak nie da. probowalem z ' " i ` ale nie potrafie tego wlaczyc. Prosze o pomoc. Przepraszam za post pod postem ale chcialem odswiezyc temat.
ODPOWIEDZ