Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:dydaktyka:unix:lab_sed_awk [2013/11/25 18:08]
ikaf [SED]
pl:dydaktyka:unix:lab_sed_awk [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 ====== 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).
Linia 5: Linia 7:
   * 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://www.gentoo.org/​doc/​pl/​articles/​l-sed1.xml|część 1]], [[http://www.gentoo.org/​doc/​pl/​articles/​l-sed2.xml|część 2]], [[http://www.gentoo.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://www.gentoo.org/​doc/​pl/​articles/​l-awk1.xml|część 1]], [[http://www.gentoo.org/​doc/​pl/​articles/​l-awk2.xml|część 2]], [[http://www.gentoo.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.
Linia 91: Linia 94:
 ===== Ćwiczenia ===== ===== Ćwiczenia =====
 ==== SED ==== ==== SED ====
-  - Przeczytać manual do programu. Zwrócić uwagę na polecenia, ich składnię oraz sposób adresacji poleceń.+ 
 +Przeczytać manual do programu. Zwrócić uwagę na polecenia, ich składnię oraz sposób adresacji poleceń. 
   - 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''​.
Linia 105: Linia 110:
   - Jak zamienić przy pomocy sed wszystkie litery '​r'​ na '​k'?​   - Jak zamienić przy pomocy sed wszystkie litery '​r'​ na '​k'?​
   - W jaki sposób zakodować szyfrem ROT13 plik przy pomocy sed (szyfr zamienia litery na występujące 13 liter dalej, np. a<​->​n,​ b<​->​o,​ itd.)?   - W jaki sposób zakodować szyfrem ROT13 plik przy pomocy sed (szyfr zamienia litery na występujące 13 liter dalej, np. a<​->​n,​ b<​->​o,​ itd.)?
-  - Przy pomocy polecenia sed zakomentuj linijkę ​default ​w pliku ''/​etc/​networks''​.+  - Przy pomocy polecenia sed zakomentuj linijkę ​link-local ​w pliku ''/​etc/​networks''​.
   - 8-o W jaki sposób przy użyciu sed wstawić kolumnę X po pierwszym znaku wiersza (dodatkowy znak X w każdym wierszu)? A jak po piątym?   - 8-o W jaki sposób przy użyciu sed wstawić kolumnę X po pierwszym znaku wiersza (dodatkowy znak X w każdym wierszu)? A jak po piątym?
   - Jak przy pomocy sed powtórzyć 3 razy pierwsze dwie litery każdego wiersza w pliku?   - Jak przy pomocy sed powtórzyć 3 razy pierwsze dwie litery każdego wiersza w pliku?
Linia 246: Linia 251:
  
 \\  \\ 
-** 8-) 8-) 8-) 8-) 8-) 8-) Zadanie 3** \\+** 8-) 8-) 8-) Zadanie 3** \\
  \\  \\
 Napisz skrypt programu awk który policzy i wyświetli średnią ocen dla każdego studenta. Napisz skrypt programu awk który policzy i wyświetli średnią ocen dla każdego studenta.
pl/dydaktyka/unix/lab_sed_awk.1385399299.txt.gz · ostatnio zmienione: 2019/06/27 15:55 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0