Witam
pisałem ostatnio skrypt podliczający ilość miejsca zużytego na dysku i miałem problem z takim czymś:
Jak miałem wynik polecenia np
rząd 1
rząd 2
rząd 3
rząd 4
to przy użyciu tail i head zrobiłem dla 4 zmiennych coś takiego
wolne1=`df -h | grep "/dev/sd" | cut --bytes=29-31 | head -n 1 `
wolne2=`df -h | grep "/dev/sd" | cut --bytes=29-31 | head -n 2 | tail -n 1 `
wolne3=`df -h | grep "/dev/sd" | cut --bytes=29-31 | tail -n 2 | head -n 1 `
wolne4=`df -h | grep "/dev/sd" | cut --bytes=29-31 | tail -n 1 `
lecz teraz chce napisać skrypt do konwertowania plików wideo i niestety nie mam zamiaru robić w ten sposób. Dodaje że ilośc plików czyli ( rządów ) nie będzie z góry ustawiona ( zależne od ls *.avi ).
Czy są jakieś prostsze sposoby aby każdy rząd umieścić w innej zmiennej ?
Bash każdy rząd w innej zmiennej
- Dwimenor
- Przebojowy Jelonek
- Posty: 1260
- Rejestracja: 18 mar 2008, 16:14
- Płeć: Mężczyzna
- Wersja Ubuntu: 13.10
- Architektura: x86_64
Re: Bash każdy rząd w innej zmiennej
Czy koniecznie potrzebujesz każdy plik przypisywać do innej zmiennej? Nie możesz zrobić pętli?
Albo przypisać sobie wszystkie filmy do tablicy i odwoływać się do jej kolejnych elementów.
Kod: Zaznacz cały
for plik in `ls *.avi`;do
operacje na $plik
done
Kod: Zaznacz cały
tablica=(`ls *.avi`)
for plik in ${tablica[*]};do
operacje na $plik
done
Poniższe zdanie jest fałszywe.
Powyższe zdanie jest prawdziwe.
Powyższe zdanie jest prawdziwe.
- beluosus
- Zakręcona Traszka
- Posty: 695
- Rejestracja: 01 paź 2006, 15:32
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: Xfce
- Architektura: x86
- Kontakt:
Re: Bash każdy rząd w innej zmiennej
@Dwimenor: Twoje rozwiązanie nie sprawdzi się dla plików ze spacjami. Naturalnym rozwiązaniem jest:
@xomrk: albo nie doczytałeś, albo niewiele wyniosłeś ze swojego ostatniego tematu, skoro nadal używasz "brzydkiego head-tail" nie wspominając o df-grep.
Kod: Zaznacz cały
for i in *.avi
do
echo "$i" # przykładowa operacja
done
- Dwimenor
- Przebojowy Jelonek
- Posty: 1260
- Rejestracja: 18 mar 2008, 16:14
- Płeć: Mężczyzna
- Wersja Ubuntu: 13.10
- Architektura: x86_64
Re: Bash każdy rząd w innej zmiennej
Fakt, spacje wszystko rozwalą.
Poniższe zdanie jest fałszywe.
Powyższe zdanie jest prawdziwe.
Powyższe zdanie jest prawdziwe.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 18 gości