RegExp-Kurs_03_Muster_in_Datei.sh
von tegula- SNIPPET_DESC:
- Bitte Dateinamensendung ".txt" entfernen.
- SNIPPET_CREATION_TIME:
- 29.04.2022 13:45:12
- SNIPPET_PRUNE_TIME:
- Unendlich
- SNIPPET_TEXT:
-
- #!/bin/sh
- #' ---
- #' title: "Lösungsversuch zum RegEXP-Kurs 03 - egrep"
- #' author: "tegula"
- #' date: " 24 4 2022"
- #' output: html_document
- #' ---
- # ------------------------
- # ------------------------
- #' **Ursprünglich Aufgaben:** https://debianforum.de/forum/viewtopic.php?t=184043
- #' ** Hier bearbeite Variante:** "Arbeite vorerst mal nur mit den Musterdateien und gehe dafuer die Einheit nochmal durch. Mit Musterdateien ist es wie ich beschreibe. Wenn du es auf der Kommandozeile angibst, dann treten weitere Effekte auf, die dich nun verwirren" ( https://debianforum.de/forum/viewtopic.php?p=1300875#p1300875 )
- # ------------------------
- # ------------------------
- # AUfgabe 1 bis 6
- for musterdatei in a1.txt a2.txt a3.txt a4.txt a5.txt a6.txt; do
- printf "${musterdatei}: " # Aufgaben nummer bzw. Dateiname ausgeben
- cat ${musterdatei} # Inhalt der Musterdatei ausgeben
- printf "\n \n" # Zwei Zeilenumbrüche ausgeben (= mindestens eine Leerzeile)
- egrep --line-number -f ${musterdatei} schwaebische-kunde.txt # Muster in schwaebische-kunde.txt suchen
- printf "******\n\n" # Trenner zwischen einzelnen Aufgaben
- done
- # ------------------------
- # ------------------------
- # Aufgabe 7 (fgrep statt egrep)
- ## --> Unterschied zu Aufgabe 1-6 (egrep): Fragezeichen ("?") und (".") müssen nicht escapet werden, weil fgrep (im Gegensatz zu egrep) die, ihm übergebenen, Muster, immer als literale Wörter interpretiert.
- for musterdatei in a1.txt a2.txt a3.txt a4.txt a5_fuer_fgrep.txt a6_fuer_fgrep.txt; do
- printf "${musterdatei}: " # Aufgaben nummer bzw. Dateiname ausgeben
- cat ${musterdatei} # Inhalt der Musterdatei ausgeben
- printf "\n \n" # Zwei Zeilenumbrüche ausgeben (= mindestens eine Leerzeile)
- fgrep --line-number -f ${musterdatei} schwaebische-kunde.txt # Muster in schwaebische-kunde.txt suchen
- printf "******\n\n" # Trenner zwischen einzelnen Aufgaben
- done
- # ------------------------
- # ------------------------
- # Aufgabe 8
- ## --> Die Mustersuche wird innerhalb der Datei RegExp-Kurs_02_Aufgabe_14.R ( https://debianforum.de/forum/pastebin/?mode=view&s=41639 ) durchgeführt.
- # Klammern
- ## --> Klammern haben eine Sonderbedeutung innerhalb von egrep --> müssen (auch in Musterdatei) escapet werdem
- cat a8_klammern.txt # Inhalt der Musterdatei ausgeben
- egrep --line-number -f a8_klammern.txt RegExp-Kurs_02_Aufgabe_14.R
- # Sterne
- ## --> Das Sternchen (*) hat eine Sonderbedeutung innerhalb von egrep --> muss (auch in Musterdatei) escapet werdem
- cat a8_sterne.txt # Inhalt der Musterdatei ausgeben
- egrep --line-number -f a8_sterne.txt RegExp-Kurs_02_Aufgabe_14.R
- # Punkte
- ## --> Der Punkt (".") hat eine Sonderbedeutung innerhalb von egrep --> muss (auch in Musterdatei) escapet werdem
- cat a8_punkte.txt # Inhalt der Musterdatei ausgeben
- egrep --line-number -f a8_punkte.txt RegExp-Kurs_02_Aufgabe_14.R
Quellcode
Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN