Portál AbcLinuxu, 12. května 2025 09:01

Dotaz: Vytvoření skriptu

28.10.2014 11:43 Mish.k.a
Vytvoření skriptu
Přečteno: 1394×
Odpovědět | Admin
Zdravím! Dostala jsem zadání k vytvoření skriptu, můžete pomoct? Mělo by to být pro Linux Ubuntu.

Předmět se tento rok u nás vyučuje trochu podivně, vůbec jsme nic takového nedělali, vyučující ruší hodiny a jezdí si kdo ví kam. Najednou přišel mailem tentok úkol a já prostě nevím.

Zadání: Napište skript, který přejmenuje všechny soubory v aktuálním adresáři s příponou jpg na soubory s toutéž příponou ale s čísly místo názvu. Cesta bude zadána po spuštění skriptu. Součástí řešení bude kontrola platnosti cest a výpis o probíhající činnosti.

Na začátku (za povinným první řádkem) bude vždy otestování uname a pokud bude jiná hodnota než na systému, kde byl skript vytvořen, bude vypsáno upozornění. Vždy musí být ošetřeno zadání parametrů interaktivně i z příkazového řádku. Při přenosu skriptu nezapomeňte na zajištění správných konců řádků.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

28.10.2014 12:07 Radek Isa | skóre: 14
Rozbalit Rozbalit vše Re: Vytvoření skriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
pouzi bash vytvor novy soubor "cokoliv.sh" pak nezapomen zmenit opravneni at muzes spoustet skript chmod +x cokoliv.sh. Pak se na netu vali dost tutorialu o BASH. Např: http://www.abclinuxu.cz/clanky/navody/bash-i
28.10.2014 13:24 DarkKnight | skóre: 26
Rozbalit Rozbalit vše Re: Vytvoření skriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Uděláte za mě úkol?
Takze zkus nejdrive neco udelat sama.

Pokud neumis vubec v bashi, mrkni na http://www.abclinuxu.cz/clanky/navody/bash-i (pripadne muzes zacit i zde - http://www.abclinuxu.cz/clanky/navody/bash-iii)

A ulohu lze vyresit nekolika zpusoby, treba si udelat promennou (pocitadlo) a iterovat pres seznam souboru v danem adresari (v kazde iteraci prejmenovat soubor a inkrementovat pocitadlo). Pozor na inkrementaci v bashi, s cisly se pracuje trochu jinak, musis pouzit zdvojene zavorky (http://tldp.org/LDP/abs/html/arithexp.html). A na prochazeni adresare pouzij "for do done" (a nepouzivej ls, ale *.pripona).
28.10.2014 13:39 heh
Rozbalit Rozbalit vše Re: Vytvoření skriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
jen tak nahozeno...
#!/bin/bash -x
cesta=$1;
[ -z $cesta ] && echo 'nebyla zadana cesta' && exit 1;
soubory=$(find $cesta -name "*.jpg");
parse=$(echo $soubory | tr ' ' '\n');
j=0;
for i in $parse; do
        j=$((j+1));
        mv $i $cesta/$j.jpg;
done
-------------------------------------------------------
ulozit do ukol.sh, pak dat "chmod +x ukol.sh"
vytvorit testovaci adresar + jpg soubory

mkdir xxx/
touch  xxx/a.jpg xxx/b.jpg

spustit

./ukol.sh xxx/
28.10.2014 14:16 DarkKnight | skóre: 26
Rozbalit Rozbalit vše Re: Vytvoření skriptu
a co kdyz bude mit soubor v nazvu mezeru?
28.10.2014 14:27 heh
Rozbalit Rozbalit vše Re: Vytvoření skriptu
Tak to musi opravit, aby to vyhovovalo zadani. Ostatne byl to jen nastin a spousta veci ze zadani tam stejnak jeste prebyva a chybi...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.