Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:dydaktyka:unix:lab_sed_awk [2016/11/14 10:18] kkluza [SED] |
pl:dydaktyka:unix:lab_sed_awk [2019/06/27 15:50] (aktualna) |
====== SED i AWK ====== | ====== SED i AWK ====== |
| |
| {{:pl:dydaktyka:unix:evolution_of_language.gif?400|}} |
===== Do przygotowania ===== | ===== Do przygotowania ===== |
* Przypomnieć sobie pracę z jednym z wybranych edytorów (np. vi, emacs, itp). | * Przypomnieć sobie pracę z jednym z wybranych edytorów (np. vi, emacs, itp). |
* Przypomnieć sobie funkcję manipulujące łańcuchami znaków w języku C. | * Przypomnieć sobie funkcję manipulujące łańcuchami znaków w języku C. |
* Przeczytać następujące artykuły: | * Przeczytać następujące artykuły: |
* Artykuł o //sed//: [[http://gentoo-handbook.lugons.org/doc/pl/articles/l-sed1.xml|część 1]], [[http://gentoo-handbook.lugons.org/doc/pl/articles/l-sed2.xml|część 2]], [[http://gentoo-handbook.lugons.org/doc/pl/articles/l-sed3.xml|część 3]] | * Artykuł o //sed//: [[http://gentoo-handbook.lugons.org/doc/pl/articles/l-sed1.xml|część 1]], [[http://gentoo-handbook.lugons.org/doc/pl/articles/l-sed2.xml|część 2]], [[http://gentoo-handbook.lugons.org/doc/pl/articles/l-sed3.xml|część 3]] (mirror: {{:pl:dydaktyka:unix:sed1.pdf|}}, {{:pl:dydaktyka:unix:sed2.pdf|}}, {{:pl:dydaktyka:unix:sed3.pdf|}}) |
* Artykuł o //awk//: [[http://gentoo-handbook.lugons.org/doc/pl/articles/l-awk1.xml|część 1]], [[http://gentoo-handbook.lugons.org/doc/pl/articles/l-awk2.xml|część 2]], [[http://gentoo-handbook.lugons.org/doc/pl/articles/l-awk3.xml|część 3]] | * Artykuł o //awk//: [[http://gentoo-handbook.lugons.org/doc/pl/articles/l-awk1.xml|część 1]], [[http://gentoo-handbook.lugons.org/doc/pl/articles/l-awk2.xml|część 2]], [[http://gentoo-handbook.lugons.org/doc/pl/articles/l-awk3.xml|część 3]] (mirror: {{:pl:dydaktyka:unix:awk1.pdf|}}, {{:pl:dydaktyka:unix:awk2.pdf|}}, {{:pl:dydaktyka:unix:awk3.pdf|}}) |
* Wersja angielska: | * Wersja angielska: |
* Artykuł o //sed//: [[http://www.ibm.com/developerworks/linux/library/l-sed1.html|część 1]], [[http://www.ibm.com/developerworks/linux/library/l-sed2.html|część 2]], [[http://www.ibm.com/developerworks/linux/library/l-sed3.html|część 3]]. | * Artykuł o //sed//: [[https://www.ibm.com/developerworks/linux/library/l-sed1/index.html|część 1]], [[https://www.ibm.com/developerworks/linux/library/l-sed2/index.html|część 2]], [[https://www.ibm.com/developerworks/linux/library/l-sed3/index.html|część 3]]. |
* Artykuł o //awk//: [[http://www.ibm.com/developerworks/linux/library/l-awk1.html|część 1]], [[http://www.ibm.com/developerworks/linux/library/l-awk2.html|część 2]], [[http://www.ibm.com/developerworks/linux/library/l-awk3.html|część 3]]. | * Artykuł o //awk//: [[https://www.ibm.com/developerworks/linux/library/l-awk1/index.html|część 1]], [[https://www.ibm.com/developerworks/linux/library/l-awk2/index.html|część 2]], [[https://www.ibm.com/developerworks/linux/library/l-awk3/index.html|część 3]]. |
| |
| * Ciekawym miejscem do ćwiczenia znajomości wyrażeń regularnych jest [[https://regexcrossword.com/|Regex Crossword]] :-) |
===== Wprowadzenie ===== | ===== Wprowadzenie ===== |
* sed i awk są narzędziami strumieniowego przetwarzania tekstu. | * sed i awk są narzędziami strumieniowego przetwarzania tekstu. |
- Wyświetlić plik **/etc/passwd** przy pomocy //sed//. | - Wyświetlić plik **/etc/passwd** przy pomocy //sed//. |
- Zamienić separator - dwukropek - w pliku ''/etc/passwd'' na spację. | - Zamienić separator - dwukropek - w pliku ''/etc/passwd'' na spację. |
- Wyświetlić **tylko** nazwy użytkowników zapisanych w pliku ''/etc/passwd'' | - Wyświetlić **tylko** loginy użytkowników zapisanych w pliku ''/etc/passwd'' |
- Wyświetlić 4, 7, 10 i 13 linię pliku ''/etc/passwd'' | - Wyświetlić 4, 7, 10 i 13 linię pliku ''/etc/passwd'' |
- Wyświetlić określone przedziałem (np. od 3. do 5. włącznie) linie pliku ''/etc/passwd''. | - Wyświetlić określone przedziałem (np. od 3. do 5. włącznie) linie pliku ''/etc/passwd''. |