Facebook
From Smelly Motmot, 9 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 760
  1. Przedmiot:                              Architektura komputerów i systemy operacyjne
  2. Kierunek studiów:                      Elektronika i Telekomunikacja
  3. Data:                                  
  4.  
  5. Ćwiczenie nr 3 – Procesor tekstu AWK.
  6.  
  7. Cel zajęć: Poznanie możliwości i nauka postaw posługiwania się AWK jako narzędziem do szybkiego wydobywania informacji zawartej w plikach tekstowych i do modyfikacji tych plików.
  8.  
  9. wywołania:
  10.  
  11. awk ' warunek { akcja } ' plik_z_danymi
  12. awk -f plik_z_poleceniami_awk plik_z_danymi gdy jest więcej poleceń awk niż jedna para warunek-akcja
  13. awk -f plik_z_poleceniami_awk plik_z_danymi > plik_wynikowy gdy rezultaty awk chcemy przekierowac ze stand. wyjścia (terminala) do pliku
  14.  
  15. zasada:
  16.  
  17. Dla każdego wiersza pliku_z_danymi
  18. Dla każdej pary warunek-akcja w programie awk
  19. Jeżeli "warunek" jest spełniony, to wykonaj "akcja"
  20.  
  21. Zmienne wbudowane (niektóre):
  22.  
  23. $1, $2, $3..... kolejne pola w bieżącym wierszu pliku danych
  24. $0 całość bieżącego wiersza
  25. NF liczba pól w bieżącym wierszu
  26. NR liczba dotychczas przeanalizowanych wierszy
  27. FS separator pól, domyślnie spacja
  28.  
  29. warunki:
  30.  
  31. wyrażenia logiczne
  32. $3 < $1*S2
  33. $4=="Michalina"
  34. $6<$3+$2
  35.  
  36. wyrażenia regularne
  37. /djabel/ - czy ciag znaków "djabel" występuje w wierszu
  38. $2~/djabel/ czy ciąg znaków "djabel" występuje w 2-gim polu wiersza
  39.  
  40. kombinacje logiczne dowolnych warunków:
  41. && - koniunkcja (i)
  42. || - alternatywa (lub)
  43. ! - negacja, nawiasy
  44.  
  45. słowo BEGIN
  46. specjalny warunek, który ma być spełniony "przed" wszystkimi wierszami z pliku danych, akcja opatrzona takim warunkiem jest wykonywana dokładnie raz, na początku programu.
  47. słowo END
  48. specjalny warunek, który ma być spełniony "po" wszystkimi wierszami z pliku danych, akcja opatrzona takim warunkiem jest wykonywana dokładnie raz, na końcu programu.
  49. dwa warunki rozdzielone przecinkami
  50. akcja jest wykonywana od wiersza, który spełnia pierwszy warunek, do wiersza, który spełnia drugi warunek
  51. warunek pusty
  52. zawsze prawdziwy, akcja wykonywana jest dla wszystkich wierszy
  53.  
  54.  
  55. Ćwiczenie
  56.  
  57. 1. Napisz polecenie AWK numerujące wiersze podanego pliku i tworzące plik wynikowy z ponumerowanymi wierszami.
  58. 2. Napisz polecenie AWK zliczające, ile razy dane słowo wystąpiło w danym pliku.
  59. 3. Z podanego przez prowadzącego pliku „zarobki”, wydobądź przy pomocy AWK informacje:
  60. - listę zarobków wszystkich osób (plik podaję stawki godzinowe i ilość przepracowanych godzin)
  61. - listę osób, których zarobki przekraczają 3000 zł.
  62. - listę osób,  które przepracowały mniej niż 20 godzin w miesiącu
  63. - informację, ile zarabiają wszystkie osoby o imieniu Jan
  64. 1. Programem AWK stwórz nową listę płac, która pominie osoby o nazwisku Kowalski i imieniu Zofia.
  65.  
  66. Zadanie nadobowiązkowe (domowe, na ocenę):
  67. Z podanych dwóch plików:  „studenci”  (nazwisko, nr indeksu) i „egzamin”  (nr indeksu, ocena), przy pomocy AWK wydobądź nazwiska osób, które zdały egzamin
  68.  
  69. Sprawozdanie winno zawierać listingi zawartości poleceń i programów AWK z krótkim objaśnieniem słownym, ewent. dyskusję niepowodzeń i trudności
  70.  
  71.  
  72.  
  73. Przedmiot:                              Architektura komputerów i systemy operacyjne
  74. Kierunek studiów:                      Elektronika i Telekomunikacja
  75. Data:                          
  76.  
  77. Ćwiczenie nr 2 –  Tworzenie skryptów w powłoce systemu Linux – zaawansowane struktury programistyczne.
  78.  
  79. Cel zajęć: Przećwiczenie możliwości programistycznych zawartych w języku skryptowym systemów rodziny Unix
  80.  
  81. Zmienne środowiskowe
  82. Środowisko programu składa się ze zmiennych i ich wartości. Jest ono przekazywane do wszystkich programów uruchamianych przez ten program (program potomny dziedziczy środowisko).
  83. Przykłady:
  84. PATH – lista katalogów, w których system szuka programów i skryptów wykonywalnych
  85. HOME – katalog domowy użytkownika
  86. Tworzenie zmiennej środowiskowej:
  87. MOJ_KATALOG=/usr/home/bolek
  88. export MÓJ_KATALOG
  89. lub  krócej export MOJ_KATALOG=/usr/home/bolek
  90.  
  91. Argumenty skryptu
  92. Argumenty wywołania skryptu:   skrypt  arg1  arg2  arg3  ...
  93. $1,  $2, ..., $9   to zmienne, których wartości to pierwsze 9 argumentów wywołania
  94. $0   to nazwa samego skryptu
  95. $#   to liczba argumentów skryptu
  96. $@   to wszystkie argumenty skryptu
  97. argumenty wywołania powyżej 9-tego możemy odczytywać za pomocą polecenia shift.
  98.  
  99.  
  100. Funkcja warunkowa if
  101. if [ warunek1 ] ; then
  102. instrukcje1
  103. elif [ warunek2 ] ; then
  104. instrukcje2
  105. ....
  106. ....
  107. else
  108. instrukcje_else
  109. fi
  110.  
  111. Warunki logiczne  funkcji if
  112. ==   jest równy
  113. -lt    jest mniejszy
  114. -gt   jest większy
  115. -ne  jest różny
  116.  
  117. Pętle
  118. while warunek; do
  119.   instrukcje
  120. done
  121.  
  122. Instrukcja wyboru
  123. case wyrażenie in
  124. wzorzec1) instrukcje1 ;;
  125. wzorzec2) instrukcje2 ;;
  126. ....
  127. esac
  128.  
  129. Potoki
  130. polecenie1  |   polecenie2   |   polecenie3
  131. wyniki działania polecenia 1 są argumentami dla polecenia2, którego wyniki są z kolei argumentami dla polecenia 3
  132.  
  133. Ćwiczenie
  134.  
  135. 1. Napisać skrypt wypisujący swoje argumenty wywołania w odwrotnej kolejności
  136. 2.   Stworzyć procedurę w bash obliczającą wartość silnia (n!) podanej liczby
  137. 3. Napisać skrypt podający słowną reprezentację podanej liczby z zakresu 1..99
  138.  
  139. Sprawozdanie winno zawierać listingi zawartości skryptów z krótkim objaśnieniem słownym.
  140.  
  141. Pomoce: niniejsza instrukcja, materiały z wykładów, wskazówki prowadzącego i jego konsultacje.
  142.  
  143.  
  144. Pomoce: niniejsza instrukcja, materiały z wykładów, wskazówki prowadzącego i jego konsultacje.
  145.