Poslao: 25 Sep 2007 08:05
|
offline
- caiser
- Novi MyCity građanin
- Pridružio: 25 Sep 2007
- Poruke: 1
|
soxxx ::Za pravljanje tar arhive:
# Brisanje svih foldera i datoteka iz foldera u kome zelim da sacuvam backup
sudo rm -rf ~/krak/aplikacije/podesavanja/backup/*
echo -n "Proveravamo dali su svi fajlovi uspesno obrisani ... "
if [ $? -ne 0 ]
then
echo "neki fajlovi nisu obrisani"
else
echo "fajlovi uspesno obrisani"
fi
Ja se izvinjavam sto ovako upadam ali samo da kazem da ova provera nema smisla i da nece raditi. Provera return koda ce uvek hvatati izlazni kod echo funkcije umesto rm komande. Dobra je praksa da se izlaz svake komande koju hoces da proveris dodeli nekoj promenjivoj i da se posle radi sa tom promenjivom umesto direktno sa samim izlaznim kodom.
sudo rm -rf ~/krak/aplikacije/podesavanja/backup/*
RET=$?
echo -n "Proveravamo dali su svi fajlovi uspesno obrisani ... "
if [ ${RET} -ne 0 ]
then
echo "neki fajlovi nisu obrisani"
else
echo "fajlovi uspesno obrisani"
fi
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 25 Sep 2007 22:58
|
offline
- Pridružio: 25 Maj 2005
- Poruke: 1482
- Gde živiš: Gracanica, Kosovo
|
Hvala na ispravci. Ustvari je to bio komentar a kasnije sam ja dodao echo i zaboravio da promenim (kad sam to pisao bilo je 5 i nesto ujutru ).
|
|
|
|
Poslao: 26 Sep 2007 23:13
|
offline
- bocke
- Moderator foruma
- Glavni moderator Linux foruma
- Pridružio: 16 Dec 2005
- Poruke: 12533
- Gde živiš: Južni pol
|
@caiser: Samo napred. Svaki doprinos je dobrodosao.
|
|
|
|
Poslao: 27 Sep 2007 13:44
|
offline
- Pridružio: 25 Maj 2005
- Poruke: 1482
- Gde živiš: Gracanica, Kosovo
|
Sad kad pogledam skriptu i nije bas bas...ali dobro, recimo ako neki fajlovi nisu obrisani moglo bi da se stavi exit 1. Ali posto je tema vec resena da ne "trujem" vise onda...
|
|
|
|
Poslao: 24 Okt 2007 10:53
|
offline
- nulti.korisnik
- Legendarni građanin
- Pridružio: 20 Feb 2005
- Poruke: 4505
- Gde živiš: planeta Zemlja
|
1. Sada me zanima kako da namestim da mi izbacuje samo moje echo recenice (primer: pise echo "backup je gotov) i da ne prikazuje output svih komandi koje sam pre toga zadao (prilikom kreiranja iso fajla i rezanja istog na disk imam previse texta sto mi ne treba. Zelim da me posle svake operacije samo obavesti u jednoj prosto prosirenoj recinici ("Backup je gotov, zavrseno je kopiranje conf fajlova...)).
2. Kako da namestim da mi izbacuje poslednji red outputa (recimo zadam mu komandu da mi zapakuje 30 foldera u 7z ali zelim samo da vidim da li je pakovanje uspelo (to se prikazuje u poslednjem redu u p7zip programu))?
3. Zelim da napravim skriptu koja ce da radi sledece:
- konvertuje sve avi datoteke iz zadatog foldera u mp4
-da svaki fajl zadrzi svoje ime (primer: kada prekonverujem fajl pod imenom "3koj3k.avi" u mp4 da ime tog fajla bude "3koj3k.mp4")
Ja znam kako da ovo uradim za za 1 fajl ali ne znam kako da tu komandu ubacim u skriptu koja ce bez pitanja da konvertuje 20, 40 ili 1000 fajlova u mp4 format sa zadrzavanjem imena!
Hvala
|
|
|
|
Poslao: 24 Okt 2007 19:16
|
offline
- Pridružio: 25 Maj 2005
- Poruke: 1482
- Gde živiš: Gracanica, Kosovo
|
.::Wizard::. ::1. Sada me zanima kako da namestim da mi izbacuje samo moje echo recenice (primer: pise echo "backup je gotov) i da ne prikazuje output svih komandi koje sam pre toga zadao
Mislim da ti treba ovo: http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html
ili ovo: http://cfaj.freeshell.org/shell/tuesday-tips/#tt-2004-08-24
(hint: > /dev/null 2>&1)
Za 2. neznam.
.::Wizard::. ::3. Zelim da napravim skriptu koja ce da radi sledece:
- konvertuje sve avi datoteke iz zadatog foldera u mp4
-da svaki fajl zadrzi svoje ime (primer: kada prekonverujem fajl pod imenom "3koj3k.avi" u mp4 da ime tog fajla bude "3koj3k.mp4")
Ja znam kako da ovo uradim za za 1 fajl ali ne znam kako da tu komandu ubacim u skriptu koja ce bez pitanja da konvertuje 20, 40 ili 1000 fajlova u mp4 format sa zadrzavanjem imena!
Pa ti postavi kako radis to za jedan fajl pa da vidimo!
|
|
|
|
Poslao: 24 Okt 2007 19:49
|
offline
- bocke
- Moderator foruma
- Glavni moderator Linux foruma
- Pridružio: 16 Dec 2005
- Poruke: 12533
- Gde živiš: Južni pol
|
2. Koristi odgovarajuci filter. Mislim da je tail najpodesniji za posao. Preusmeris output komande u tail -n 1.
3. Kreni da pises, pa cemo korigovati. Za menjanje samo ekstenzije mozes koristiti Perl, SED ili awk... Napisacu primer kako to uraditi u Perlu kasnije... Ali prvo postavi skicu (prvu verziju) skripta.
|
|
|
|
|
|
Poslao: 01 Nov 2007 19:39
|
offline
- Pridružio: 25 Maj 2005
- Poruke: 1482
- Gde živiš: Gracanica, Kosovo
|
Prvi pokusaj :
#!/usr/local/bin/bash
# Direktorijum sa fajlovima
FLVDIR=/dir/do/fajlova
# Ili ako su fajlovi razbacani onda moze ovako nesto pa kombinuj
# find . -name '*.flv' -print | while read i
for snimak in $FLVDIR/*
do
KRAJNJI_MPG=`basename $snimak .flv`.mpg
# ili mozda ovako :):)
KRAJNJI_MPG=${snimak%.*v}
# ili ovako? :D:D
KRAJNJI_MPG=${snimak/.flv/}.mpg
# na kraju konverzija
ffmpeg -i "$snimak" -ab 56 -ar 22050 -b 500 -s 320x240 "$KRAJNJI_MPG"
done
echo "konverzija uspesno zavrsena!"
# kraj
Nisam trenutno na *NIX sistemu tako da nemogu da ovo isprobam.
P.S. Moj script-fu sucks, ali mozda te uputim na pravi put... Test and wear a condom.
DOPUNA:
Jel sigurno mora da se navede .flv za pocetni i .mpg za izlazni fajl? Onda ne mora da se radi ovo sa 'skidanjem' sufiksa.
Moze li ovo biti "oneliner"?
find /dir/sa/fajlovima -name '*.flv' -print0 | xargs -0 ffmpeg '{}' -i -ab 56 -ar 22050 -b 500 -s 320x240 '{}'.mpg \;
|
|
|
|