courses:unix:lab_sed_awk

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
courses:unix:lab_sed_awk [2021/04/13 13:56] – created - external edit 127.0.0.1courses:unix:lab_sed_awk [2026/04/09 13:08] (current) mzk
Line 1: Line 1:
-===== SED i Awk =====+===== SED i AWK =====
  
 ==== Przygotuj się do laboratorium ==== ==== Przygotuj się do laboratorium ====
Line 11: Line 11:
 ==== Wiedza ==== ==== Wiedza ====
  
-=== 1. SED i Awk ===+=== 1. SED i AWK ===
   * SED i Awk są narzędziami strumieniowego przetwarzania tekstu.   * SED i Awk są narzędziami strumieniowego przetwarzania tekstu.
   * Ich główną zaletą jest możliwość czytania ze standardowego wejścia i wyświetlanie rezultatów na standardowym wyjściu -- jeżeli nie wiesz dlaczego to jest zaleta, przypomnij sobie działanie narzędzi textutils z [[lab_filters|Podstawy skryptów i filtrów]].   * Ich główną zaletą jest możliwość czytania ze standardowego wejścia i wyświetlanie rezultatów na standardowym wyjściu -- jeżeli nie wiesz dlaczego to jest zaleta, przypomnij sobie działanie narzędzi textutils z [[lab_filters|Podstawy skryptów i filtrów]].
Line 25: Line 25:
   * Program przyjmuje polecenia do wykonania z pliku lub z wiersza poleceń (jak zdefinować instrukcje do wykonania z linii poleceń a jak z pliku? - zob. manual).   * Program przyjmuje polecenia do wykonania z pliku lub z wiersza poleceń (jak zdefinować instrukcje do wykonania z linii poleceń a jak z pliku? - zob. manual).
   * Program wczytuje dane wejściowe linia po linii i **dla każdej linii wykonuje wszystkie** instrukcje!   * Program wczytuje dane wejściowe linia po linii i **dla każdej linii wykonuje wszystkie** instrukcje!
 +  * SED cheetsheet https://quickref.me/sed.html 
  
 AWK: AWK:
Line 240: Line 241:
     * Jako rezultat, skrypt powinien wyświetlić informację o uzyskanej średniej ocenie przez każdego studenta w następującym formacie <code>Srednia ocena dla Login: X</code> gdzie ''X'' to wartość średniej oceny z dokładnością do dwóch miejsc po przecinku.     * Jako rezultat, skrypt powinien wyświetlić informację o uzyskanej średniej ocenie przez każdego studenta w następującym formacie <code>Srednia ocena dla Login: X</code> gdzie ''X'' to wartość średniej oceny z dokładnością do dwóch miejsc po przecinku.
     * Skrypt powinien być w całości wykonywany przez awk - nie powinien używać żadnych poleceń zewnętrznych.     * Skrypt powinien być w całości wykonywany przez awk - nie powinien używać żadnych poleceń zewnętrznych.
 +    * Zastosuj polecenie split (n = split(grades, arr, ",")), następnie podsumuj oceny w pętli for
     * Przykład:     * Przykład:
       * Dla wejścia: <code>spock:4.0, 4.5, 4.5, 5.0, 5.0, 2.0       * Dla wejścia: <code>spock:4.0, 4.5, 4.5, 5.0, 5.0, 2.0
Line 269: Line 271:
 Srednia ocen dla kirk: 3.75 Srednia ocen dla kirk: 3.75
 Srednia ocen dla uhura: 4.03</code> Srednia ocen dla uhura: 4.03</code>
 +
 +
  • courses/unix/lab_sed_awk.1618322198.txt.gz
  • Last modified: 5 years ago
  • by 127.0.0.1