Úvod do UNIXu – cvičení 1. 4. 2016

Domácí úkoly

  1. Nástroj tac není standardem POSIX definován, a tudíž nemusí být všude dostupný. Vymyslete tedy skript pro Bash, který by poskytoval stejnou základní funkcionalitu. Tj. konkrétně aby výstup příkazů cat /etc/passwd | tac a cat /etc/passwd | ./ukol.sh byl zcela identický. Smíte použít pouze nástroje z již proběhlých cvičení. (1 bod)
  2. Napište skript pro Bash, který vybere 20 nejfrekventovanějších slov z textu zadaného na standardním vstupu a vypíše je uspořádané abecedně včetně jejich četností. Mezi slovem na začátku, uprostřed a na konci věty není žádný rozdíl. Opět platí, že můžete použít pouze nástroje, které jsme si na cvičení ukazovali. Pro testovaní se vám může hodit textový soubor s povídkou. (1 bod)

Řešení domácích úkolů z minula

  1. Napište příkaz, kterým zjistíte, kolik slov začínajících velkým písmenem se nachází v textovém souboru s pohádkou. Velká písmena se tam objevují jen na obvyklých místech, tj. na začátcích vět, u vlastních jmen nebo u formálních oslovení. (2 body)
            
    # 1. varianta
    cat pohadka.txt | tr -d 'abcdefghijklmnopqrstuvwxyz.!?, "\n' | wc -m
    # 2. varianta
    tr -cd [:upper:] < pohadka.txt | wc -m
    # 3. varianta
    tr '\n' ' ' < pohadka.txt | tr '[:upper:]' '\n' | wc -l
            
          
  2. Napište kolonu, jejímž jediným výstupem bude náhodné číslo mezi 0 a 255. Kromě výše uvedeného tr již všechny ostatní potřebné prostředky ze cvičení znáte. Jiné tedy nepoužívejte. Poradím, že se vám můžou hodit nástroje jako třeba dd nebo od. Dbejte na to, aby na výstupu opravdu bylo pouze to jedno číslo. Nechci žádné bílé znaky okolo apod. (2 body)
            
    # 1. varianta
    dd if=/dev/random bs=1 count=1 2> /dev/null | od -t u1 | head -n 1 | tr -s ' ' | cut -d ' ' -f 2
    # 2. varianta
    od /dev/random -N 1 -A n -t u1 | tr -d '[:space:]'
            
          

Nažhavené zprávy / "hot news"

Příkazy a úkoly na cvičení