C2110 Operační systém UNIX a základy programování 10. lekce / modul 1 -1C2110 Operační systém UNIX a základy programování Petr Kulhánek kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta Masarykova univerzita, Kamenice 5, CZ-62500 Brno PS/2021 Prezenční forma výuky: Rev5 10. lekce / modul 1 C2110 Operační systém UNIX a základy programování 10. lekce / modul 1 -2Cyklus for … in C2110 Operační systém UNIX a základy programování 10. lekce / modul 1 -3Cyklus pomocí for ... in ... for VAR in LIST do prikaz1 $VAR ... done for VAR in LIST; do prikaz1 $VAR ... done Kompaktní zápis: Příkazy v bloku do/done (prikaz1, …) se vykonají pro každý prvek v seznamu LIST. V daném běhu cyklu obsahuje proměnná VAR aktuální prvek ze seznamu LIST. C2110 Operační systém UNIX a základy programování 10. lekce / modul 1 -4Cyklus pomocí for ... in ..., seznamy for A in a b c; do echo $A done Cyklus proběhne třikrát, během toho postupně vytiskne znaky a, b, c. Seznamy položek je vhodné vytvářet programově (pomocí příkazů uvedených v obrácených apostrofech). for A in `ls *.eps`; do ./process_file $A done Příkaz process_file se vykoná pro každý soubor s příponou .eps, který se nachází v aktuálním adresáři. for A in `seq 1 0.25 10`; do printf "%8.3f\n" $A done Vypíše reálná čísla v intervalu od 1 do 10 s přírůstkem 0,25. Čísla budou uvedeny s přesností tří desetinných míst a zarovnány doprava v poli o délce 8 znaků. Dokumentace: man seq C2110 Operační systém UNIX a základy programování 10. lekce / modul 1 -5Cvičení 1 1. Napište skript, který vypíše reálná čísla v intervalu od -10 do 10 s přírůstkem 0,5. Čísla budou uvedena včetně znaménka, zarovnány doprava v poli 10 znaků a uvedeny s přesností na jedno desetinné místo. 2. Napište skript, který pro každý soubor *.cpp v adresáři /home/kulhanek/Documents/C2110/Lesson09/data1 vypíše název souboru a počet řádků, které obsahuje. V řešení použijte for … in a pro výpis souborů použijte příkaz ls.