Cislovani je urcite jine nez na cviceni. (1) Zajistete, aby ve skutecnem jmene uzivatele v /etc/passwd zacinalo jmeno i prijmeni velkym pismenem. (2) ROT13 - trivialni substitucni sifra se zajimavymi vlastnostmi (napriklad opetovnym zasifrovanim dostaneme rozsifrovany vystup) - vsechny znaky krome anglicke abecedy nechte byt, znaky anglicke abecedy posunte o trinact znaku (z 'a' bude 'n' apod.). Napiste sifrovatko (resp. desifrovatko, to je ekvivalentni ;). (3) Vypiste jmena vsech studentskych uctu. Studentske ucty maji jmena ve formatu pet pismen, jedna cislice, dve pismena. (4) Dalsi si ted nepamatuju. :) Pokud Vy ano, napiste. ----------------------------------------------------------------------- ----------------------------------------------------------------------- Reseni: (1) Prekvapive jsme se na tomhle naprosto zasekli, pritom jde o pomerne jednoduchou upravu domaci ulozky jpnm: cut -d : -f 1-4 /etc/passwd >zacatek cut -d : -f 5 /etc/passwd >jmena cut -d : -f 6- /etc/passwd >konec cut -d ' ' -f 1 jmena >krestni cut -d ' ' -f 2- jmena >prijmeni cut -c 1 krestni | tr a-z A-Z >kr1 cut -c 2- krestni >kr2 cut -c 1 prijmeni | tr a-z A-Z >pr1 cut -c 2- prijmeni >pr2 paste -d '\0' kr1 kr2 >krestni paste -d '\0' pr1 pr2 >prijmeni paste -d ' ' krestni prijmeni >jmena paste -d : zacatek jmena konec >passwd (2) Na tom take nic neni, to snad problematicke nebylo: tr A-Za-z N-ZA-Mn-za-m (3) Jednoduchy regularni vyraz: cut -d : -f 1 /etc/passwd | grep '^[a-z]\{5\}[0-9][a-z]\{2\}$' Nezapomente u grepu na uvozovky, jinak nam bash sezere backslashe u {} zavorek. Kdybychom pouzili dvojite uvozovky nebo vubec zadne, meli bychom obackslashovat i $, protoze $neco se vyexpanduje na promenou jmenem 'neco'. Vsimnete si ale, ze vlastne ani vubec nepotrebujeme cut: grep '^[a-z]\{5\}[0-9][a-z]\{2\}:'