# <- to jest znak komentarza ; (średnik) to koniec polecenia # każda linia programu w awk skłąda się z dwu części: # „wyzwalacza” (pierwsza część oraz jednego lub więcej poleceń zgrupowanych # w nawiasach klamrowych. BEGIN to specjalny wyzwalacz — polecenia wykonywane # są na początku programu. W innych przypadkach wyzwalacz to wyrażenie regularne # Jeżeli rekord wejściowy zgodny jest z wyrażeniem — polecenia są wykonywane BEGIN {FS=","} # definiuję separator pól jako przecinek (standardowo odstęp) /^---/ {gsub("---", ""); gsub(" ",""); filename=$0 ".dat"; print filename; next} # Powyższe polecenie znaczy tyle, że dla każdej linii która zaczyna się od znaków --- # (^ oznacza, że ma to być na początku linii) należy wykonać grupę poleceń w nawiasach # klamrowych. Polecenie next na końcu oznacza, że należy przejść do następnego rekordu # wejściowego. Funkcja gsub zamienia wszystkie znaki będące pierwszym jej argumentem # na argument drugi w rekordzie wejściowym. Cały rekord wejściowy to $0, a $1, $2,… # to kolejne pola (oddzielone znakiem FS) rekordu { print $2, $3 >> filename } # powyższa grupa poleceń nie ma wyzwalacza — wykonywana jest dla każdego rekordu # wejściowego. # rekordy wejściowe z pliku csv mają postać: # 2015-10-10 01:40:00 CEST , 1444434000 , 8.7317967344e-01 # data w postaci czytelnej to $1, unix timestamp to $2, a zmierzona wartość to $3 # jedynie drugie i trzecie pole dopisywane jest (>>) do pliku o nazwie zawartej w zmiennej # filename