
Jest to książka o narzędziowych programach UNIX, nazywanych dziwnie sed i awk. Programy te mają ze sobą wiele wspólnego, zwłaszcza użycie wyrażeń regularnych dla dopasowywania wzorców. Ponieważ dopasowywanie wzorców jest tak ważne w stosowaniu obydwu programów, książka bardzo wyczerpująco wyjaśnia składnię wyrażeń regularnych UNIX. Skoro w uczeniu się naturalny jest postęp od grep, poprzez sed do awk, więc będziemy zajmować się wszystkimi trzema programami, choć skupimy się na sed i awk.Sed i awk są narzędziami stosowanymi przez użytkowników, programistów i administratorów -- przez każdego, kto pracuje z plikami tekstowymi. Sed, nazywany tak ze względu na to, że jest edytorem strumieniowym, doskonale nadaje się wprowadzania ciągu poprawek (ang. edits) do wielu plików. Awk, którego twórcami są Aho, Weinberger i Kernighan (skąd pochodzi nazwa) jest językiem programowania umożliwiającym łatwe działania na danych, które mają strukturę i tworzenie sformatowanych raportów. Książka kładzie nacisk na definicję POSIX dla awk. Prócz tego opisuje krótko pierwszą wersję awk przed omówieniem trzech wersji awk dostępnych bezpłatnie oraz dwóch będących w sprzedaży, z których wszystkie są implementacjami POSIX awk.
Książka skupia uwagę na pisaniu dla sed i awk skryptów, stanowiących szybkie rozwiązanie wybranych problemów użytkownika. Wiele ze skryptów tego rodzaju można określić jako "doraźne rozwiązanie". Prócz tego opiszemy skrypty, które rozwiązują większe problemy, wymagają więc bardziej starannego projektowania i programowania.
Przedmowa (7)- Zakres podręcznika (7)
- Dostępność sed i awk (8)
- Jak uzyskać przykładowy kod źródłowy (12)
- Konwencje stosowane w podręczniku (14)
- O drugim wydaniu (15)
- Podziękowania z pierwszego wydania (16)
- Obyś rozwiązywał ciekawe zadania (17)
- Edytor strumieniowy (19)
- Język programowania z dopasowaniem wzorców (20)
- Cztery przeszkody w mistrzostwach sed i awk (21)
- Od ed poprzez grep i sed do awk (23)
- Składnia wiersza poleceń (28)
- Użycie sed (30)
- Użycie awk (33)
- Użycie sed wraz z awk (36)
- To jest wyrażenie (40)
- Znaki w szyku (42)
- Mnie podoba się wszystko (65)
- Stosowanie poleceń w skrypcie (68)
- Adresowanie w perspektywie globalnej (70)
- Testowanie i zapis danych wyjścia (72)
- Cztery typy skryptów sed (75)
- W drodze do Ziemi Obiecanej (86)
- O składni poleceń sed (89)
- Komentarz (90)
- Podstawianie (91)
- usuń (96)
- dopisz, wstaw i zamień (97)
- wylistuj (100)
- transformuj (103)
- drukuj (103)
- drukuj numer wiersza (104)
- następny (105)
- Odczyt i zapis do plików (106)
- zakończ (113)
- Wielowierszowa przestrzeń wzorca (116)
- Przypadek do zbadania (124)
- Utrzymuj wiersz (127)
- Zaawansowane polecenia sterowania przepływem (134)
- Szkoda słów (139)
- Zasady gry (143)
- Witajcie wszyscy (144)
- Model programowania awk (145)
- Dopasowanie wzorca (146)
- Rekordy i pola (148)
- Wyrażenia (152)
- Zmienne systemowe (156)
- Operatory relacyjne i logiczne (161)
- Drukowanie formatowane (167)
- Przekazywanie parametrów do skryptu (169)
- Pobieranie informacji (171)
- Instrukcje warunkowe (175)
- Pętle (177)
- Inne instrukcje wpływające na sterowanie przepływem (182)
- Tablice (184)
- Procesor akronimów (194)
- Zmienne systemowe, które są tablicami (199)
- Funkcje arytmetyczne (203)
- Funkcje łańcuchów (208)
- Pisanie własnych funkcji (216)
- Funkcja getline (225)
- Funkcja close() (229)
- Funkcja system() (230)
- Generator poleceń oparty na systemie menu (232)
- Kierowanie wyjścia do plików i potoków (236)
- Generowanie raportów w kolumnach (239)
- Debugging (242)
- Ograniczenia (246)
- Wywołanie awk za pomocą składni #! (247)
- Oryginalny awk (251)
- Bezpłatnie dostępne wersje awk (254)
- Komercyjne wersje awk (267)
- Epilog (271)
- Interaktywny program do sprawdzania pisowni (273)
- Generowanie formatowanego indeksu (285)
- Dalsze szczegóły programu masterindex (308)
- utot.awk - podaj statystykę UUCP (313)
- phonebill - nadzoruj użycie telefonu (316)
- combine - odzyskaj binaria z wieloczęściowej postaci uuencode (319)
- mailavg - sprawdź wielkość skrzynek pocztowych (320)
- adj - nastaw wiersze plików tekstowych (321)
- readsource - Formatuj pliki źródłowe programu dla troff (327)
- gent - pobierz wpis termcap (332)
- plpr - preprocesor lpr (334)
- transpose - wykonaj transpozycję macierzy (336)
- m1 - prosty makroprocesor (338)
Dodatek B Przewodnik awk (351)
Dodatek C Suplement do rozdziału 12. (367)
Skorowidz (379)