C2110 Operační systém UNIX základy programování 10. lekce PS/2021 Prezenční forma výuky: Rev5 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 Dperační systém UNIX a základy programování 10. lekce Domácí úkoly Pouze bash+gnuplot Dperační systém UNIX a základy programování 10. lekce Procvičování I Soubor rst.out (/home/kulhanek/Documents/C2110/Lesson09/rst.out) obsahuje výsledky z molekulové dynamiky. Úkolem je ze souboru vyextrahovat závislost teploty simulovaného systému na čase a tyto data uložit do souboru temp.out, který bude obsahovat právě dva sloupce. První sloupec bude čas a druhý sloupec bude teplota. cas teplota NSTEP = Etot BOND 1-4 NB = EELEC = 500 TIME (PS) 942.6248 51.3204 17.7099 -494 .7423 EKtot ANGLE 1-4 EEL EGB 0.500 TEMP(K) 151.0990 292.3619 981.4071 -164.7991 288.02 PRESS EAMBER (non-restraint) 791.3436 Poznámka: Použijte příkaz grep. EPtot DIHED VDWAALS RESTRAINT 0.0 791.5258 176.5980 -68.3301 0.1822 Dperační systém UNIX a základy programování 10. lekce Procvičování II Soubor rst.out (/home/kulhanek/Documents/C2110/Lesson09/rst.out) obsahuje výsledky z molekulové dynamiky. Úkolem je ze souboru vyextrahovat závislost teploty simulovaného systému na čase a tyto data uložit do souboru temp.out, který bude obsahovat právě dva sloupce. První sloupec bude čas a druhý sloupec bude teplota. cas NSTEP = Etot BOND 1-4 NB = EELEC = 500 TIME (PS) 942.6248 51.3204 17.7099 -494 .7423 EKtot ANGLE 1-4 EEL EGB 0.500 TEMP(K) 151.0990 292.3619 981.4071 -164.7991 EAMBER (non-restraint) 791.3436 teplota 288.02 PRESS EPtot DIHED VDWAALS RESTRAINT 0.0 791.5258 176.5980 -68.3301 0.1822 Poznámka: Skript nesmí obsahovat příkazy grep, awk a ani jejich varianty. Při řešení použijte příkaz read a while. Dperační systém UNIX a základy programování 10. lekce Procvičování III 1. Vykresli čtverec do souboru. Obrysy čtverce budou ze znaků "*" (5 bodů), jeho úhlopříčky pomocí znaků "%" (5 bodů), a zbylou část pomocí znaků "@" (5 bodů). Rozměry čtverce a název souboru, do kterého bude čtverec zapsán, zadá uživatel jako argumenty skriptu (5 bodů). Ošetření vstupu: Čtverec musí obsahovat alespoň jeden znak „@" (5 bodů). Skript nedovolí zápis čtverce do již existujícího souboru (5 bodů). 2. Soubor /home/kulhanek/Data/FinalTest/prod006.out obsahuje výsledek molekulárně dynamické simulace v explicitním solventu při teplotě 300 K a tlaku 100 kPa. Ze souboru vyextrahujte průběh aktuální teploty (TEMP(K)) na čase (TIME(PS)) a zobrazte jej ve formě grafu (10 bodů). Graf bude mít popsané osy včetně jednotek (5 bodů). Jméno analyzovaného souboru se předloží jako první argument skriptu, který provede analýzu a zobrazí graf ve formě obrázku ve formátu png (10 bodů). Ošetření chybného vstupu (5 bodů): analyzovaný soubor musí existovat. Dperační systém UNIX a základy programování 10. lekce -5- Procvičování IV 1. V zadaném adresáři nalezněte všechny soubory s příponami .hpp a .cpp a vypište na standardní výstup jejich počet celkem a poté zvlášť pro .hpp a .cpp soubory (10 bodů), dále celkový počet řádků ve všech nalezených souborech a poté zvlášť pro .hpp a .cpp soubory (10 bodů). Výpis zároveň uložte do souboru „summary.txt" (5 bodů). Analyzovaný adresář se zadá jako první argument skriptu. Ošetření vstupu (5 bodů): analyzovaný adresář musí existovat. Testovací adresář je v cestě: /home/kulhanek/Data/FinalTest/pmflib). 2. Soubor /home/kulhanek/Data/FinalTest/prod006.out obsahuje výsledek molekulárně dynamické simulace v explicitním solventu při teplotě 300 K a tlaku 100 kPa. Ze souboru vyextrahujte průběh celkové energie (Etot), potenciální energie (EPtot) a kinetické energie (EKtot) na čase (TIME(PS)) a zobrazte jej ve formě grafu (15 bodů). Graf bude mít popsané osy včetně jednotek (5 bodů). Jméno analyzovaného souboru se předloží jako první argument skriptu, který provede analýzu a zobrazí graf ve formě obrázku ve formátu png (10 bodů). Dperační systém UNIX a základy programování 10. lekce -6-