17
This commit is contained in:
parent
cf8c24a14d
commit
40ceb06301
131
17.html
131
17.html
@ -30,8 +30,8 @@
|
|||||||
</script>
|
</script>
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
.reveal img{ max-height: 60vh}
|
.reveal img{ max-height: 60vh}
|
||||||
|
li { padding-top: .5em !important; }
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -50,20 +50,68 @@
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section style="font-size: .6em">
|
<section style="font-size: .6em">
|
||||||
<span style="color: orange">Experimente mit versch. Kompressionsprogrammen ( gzip, bzip2, xz ):</span>
|
<span style="color: orange">Übungen:</span>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Finden Sie alle Dateien in Ihrem System, die größer als 1 MiB sind, und lassen Sie deren Namen ausgeben.</li>
|
||||||
|
<li>Wie können Sie find benutzen, um eine Datei zu löschen, die einen merkwürdigen Namen hat (etwa mit unsichtbaren Kontrollzeichen oder mit Umlauten, die von älteren Shells nicht verstanden werden)?</li>
|
||||||
|
<li>Wie würden Sie beim Abmelden dafür sorgen, dass etwaige Dateien in /tmp, die Ihnen gehören, automatisch gelöscht werden?</li>
|
||||||
|
</ul>
|
||||||
|
<aside class="notes">
|
||||||
|
<pre><code>find / -size +1024k -print</code></pre>
|
||||||
|
<pre><code># -inum Inodenname ( ls -i )
|
||||||
|
find . -maxdepth 1 -inum 4711 -exec rm -f '{}' \;</code></pre>
|
||||||
|
<pre><code>find /tmp -user $LOGNAME -type f -print0 \
|
||||||
|
| xargs -0 -r rm -</code></pre>
|
||||||
|
</aside>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section style="font-size: .6em">
|
||||||
|
<ul>
|
||||||
|
<li>README ist ein sehr populärer Dateiname. Geben Sie die absoluten
|
||||||
|
Pfadnamen aller Dateien auf Ihrem System an, die README heißen.</li>
|
||||||
|
<li>Legen Sie eine neue Datei in Ihrem Heimatverzeichnis an und überzeugen Sie sich durch einen locate-Aufruf, dass diese Datei nicht gefunden
|
||||||
|
wird (wählen Sie gegebenenfalls einen hinreichend ausgefallenen Dateinamen). Rufen Sie dann (mit Administratorrechten) das Programm updatedb
|
||||||
|
auf. Wird Ihre neue Datei danach mit locate gefunden? Löschen Sie die Datei wieder und wiederholen Sie die vorigen Schritte</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section style="font-size: .6em">
|
||||||
|
<ul>
|
||||||
|
<li>Überzeugen Sie sich, dass slocate funktioniert, indem Sie als gewöhnlicher Benutzer nach Dateien wie /etc/shadow suchen.</li>
|
||||||
|
<li>Welche Dateien stehen im Verzeichnis /boot? Hat das Verzeichnis Unterverzeichnisse und, wenn ja, welche?
|
||||||
|
<li style="padding-top: .5em">Erklären Sie den Unterschied zwischen <code>ls</code> mit einem Dateinamen als
|
||||||
|
Argument und <code>ls</code> mit einem Verzeichnisnamen als Argument. <br>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section style="font-size: .6em">
|
||||||
|
<ul>
|
||||||
|
<li>Wie können Sie <code>ls</code> dazu bringen, bei einem Verzeichnisnamen als
|
||||||
|
Argument Informationen über das benannte Verzeichnis selbst anstatt über
|
||||||
|
die darin enthaltenen Dateien zu liefern?
|
||||||
|
<li>Warum hat <code>mv</code> keine -R-Option wie <code>cp</code>?
|
||||||
|
<li>Angenommen, in einem Ihrer Verzeichnisse steht eine Datei namens »- file« (mit einem Minuszeichen am Anfang des Namens). Wie würden Sie diese Datei entfernen?
|
||||||
|
<li>Wenn Sie ein Verzeichnis haben, in dem Sie nicht versehentlich einem »rm *« zum Opfer fallen wollen, können Sie dort eine Datei namens
|
||||||
|
»- i« anlegen, etwa mit <pre><code>$ > -i</code></pre> Was passiert, wenn Sie jetzt das Kommando »rm *« ausführen, und warum?</li>
|
||||||
|
<li>Wie löscht man diese Datei ( -i ) ?
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
<section style="font-size: .6em">
|
||||||
|
<p><span style="color: orange">Experimente mit versch. Kompressionsprogrammen ( gzip, bzip2, xz ):</span>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Besorgen Sie sich eine geeignete Datei (etwa ein größeres tar -Archiv zB den Linux Kernel) und komprimieren Sie sie jeweils mit gzip , bzip2 und xz . Messen Sie dabei die Ausführungszeit durch ein vorgesetztes time . Wie verhalten die Laufzeiten und die Komprimierungsraten sich zueinander?</li>
|
<li>Besorgen Sie sich eine geeignete Datei (etwa ein größeres tar -Archiv zB den Linux Kernel) und komprimieren Sie sie jeweils mit gzip , bzip2 und xz . Messen Sie dabei die Ausführungszeit durch ein vorgesetztes time . Wie verhalten die Laufzeiten und die Komprimierungsraten sich zueinander?</li>
|
||||||
<li>Experimentieren Sie mit der Datei aus der vorigen Aufgabe und vergleichen Sie die Laufzeit und die Größe des Resultats für xz mit verschiedenen Effizienz-Optionen. Was ist der Unterschied zwischen -1 und -6 und zwischen -6 und -9 ?</li>
|
<li>Experimentieren Sie mit der Datei aus der vorigen Aufgabe und vergleichen Sie die Laufzeit und die Größe des Resultats für xz mit verschiedenen Effizienz-Optionen. Was ist der Unterschied zwischen -1 und -6 und zwischen -6 und -9 ?</li>
|
||||||
<li></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>Hinweise:
|
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section style="font-size: .65em">
|
<section style="font-size: .65em">
|
||||||
<h4>Übungen mit grep / reguläre Ausdrücke</h4>
|
<h4>Übungen mit grep / reguläre Ausdrücke</h4>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
Sind die Operatoren ? und + in regulären Ausdrücken wirklich nötig?
|
Sind die Operatoren ? und + in regulären Ausdrücken wirklich nötig?
|
||||||
@ -83,16 +131,73 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>Quelle: <a href="/pdf/Linux-Kurs/lxes-de-manual.pdf">lxes-de-manual.pdf</a>
|
<p>Quelle: <a href="/pdf/Linux-Kurs/lxes-de-manual.pdf">lxes-de-manual.pdf</a>
|
||||||
|
|
||||||
|
<aside class="notes">
|
||||||
|
<pre><code>egrep '\<(Königst|T)ochter\>' frosch.txt</code></pre>
|
||||||
|
<pre><code>grep :/bin/bash$ /etc/passwd</code></pre>
|
||||||
|
<pre><code>$ k='[^aeiou]*'
|
||||||
|
$ grep -i ^${k}a${k}e${k}i${k}o${k}u${k}$ /usr/share/dict/words</code></pre>
|
||||||
|
<pre><code>egrep '(\<[[:alpha:]]{4,}\>).*\<\1\>' frosch.txt</code></pre>
|
||||||
|
</aside>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
<section>
|
|
||||||
|
|
||||||
|
<section style="font-size: .6em">
|
||||||
|
<ul>
|
||||||
|
<li>Wie können Sie prüfen, ob in einem Verzeichnis Dateien mit »merkwürdigen« Namen enthalten sind, etwa solche mit Leerzeichen am Schluss
|
||||||
Übungen
|
|
||||||
C8.7 [2] Wie können Sie prüfen, ob in einem Verzeichnis Dateien mit »merkwürdigen« Namen enthalten sind, etwa solche mit Leerzeichen am Schluss
|
|
||||||
oder mit unsichtbaren Steuerzeichen in der Mitte?
|
oder mit unsichtbaren Steuerzeichen in der Mitte?
|
||||||
|
|
||||||
|
<li>Vergleichen Sie die Ausgabe der Kommandos »ls /tmp« und »ls /tmp
|
||||||
|
>ls-tmp.txt« (wobei wir mit »Ausgabe« im zweiten Fall den Inhalt der Datei
|
||||||
|
ls- tmp.txt meinen). Fällt Ihnen etwas auf? Falls ja, wie könnte man das Phänomen erklären? ( u.U. kein Effekt, hängt von der Version ab ) </li>
|
||||||
|
|
||||||
|
<li>Ersetzten Sie in den Dateinamen der jpg aus bilder.zip alle Gross- durch Kleinbuchstaben
|
||||||
|
<pre><code class="bash">~$ tr '[:upper:]' '[:lower:]' ...</code></pre></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<section style="font-size: .6em">
|
||||||
|
<ul>
|
||||||
|
|
||||||
|
<li>Sortieren Sie die Teilnehmerliste in <a href="/linuxkurs/beispiele/17/teilnehmer0.dat">teilnehmer0.dat</a> nach den Vereinsnamen und innerhalb der
|
||||||
|
Vereine nach den Nach- und Vornamen der Spieler (in dieser Reihenfolge)
|
||||||
|
|
||||||
|
<p><pre><code class="bash">~$ man sort</code></pre></p>
|
||||||
|
|
||||||
|
<li>Generieren Sie eine neue Version der Datei teilnehmer0.dat, in der die Startnummer und die Vereinszugehörigkeit nicht auftauchen.
|
||||||
|
<p><pre><code class="bash">~$ man cut
|
||||||
|
~$ man paste</code></pre></p>
|
||||||
|
|
||||||
|
<li>Erzeugen Sie eine Version der Datei teilnehmer0.dat, bei der die Felder nicht durch Doppelpunkte, sondern durch die Zeichenkette »,␣« (Komma gefolgt von einem Leerzeichen) getrennt sind.
|
||||||
|
<li>Wie viele verschiedene Gruppen werden von Benutzern auf Ihrem System als primäre Gruppen benutzt? (Die primäre Gruppe eines Benutzers ist das vierte Feld in der Datei /etc/passwd.)
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section style="font-size: .55em">
|
||||||
|
<p>
|
||||||
|
Erstellt ein Backup-Installations-Script welches
|
||||||
|
<ol>
|
||||||
|
<li>einmal per Dialog einen Backup-Dateinamen ohne Endung abfrägt mit <a href="https://en.wikibooks.org/wiki/Bash_Shell_Scripting/Whiptail#Input_box">Whiptail</a></li>
|
||||||
|
<li>einmal per Dialog das Backup-Ziel abfrägt ( zB lk.schubertdaniel.de / oder localhost ) </li>
|
||||||
|
<li>einen systemd Timer ( <a href="https://wiki.archlinux.de/title/Systemd/Timers">https://wiki.archlinux.de/title/Systemd/Timers </a> ) installiert, der täglich
|
||||||
|
<ul>
|
||||||
|
<li>die Ordner „wp-content/themes“ und „wp-content/uploads“ eurer Wordpress Installation </li>
|
||||||
|
<li>Die Datenbank eurer Wordpress Installation ( Befehl mysqldump ) <pre><code class="sql" contenteditable="">mysqldump --add-drop-table -h mysql_hostserver -u mysql_username -p mysql_databasename
|
||||||
|
</code></pre></li>
|
||||||
|
</ul>
|
||||||
|
zusammen in ein <strong>xz-komprimiertes</strong> File mit dem oben abgefragten Namen + Datum im Format <br> „24-02-2019“ packt</li>
|
||||||
|
<li>das Backup auf Backup-Ziel per „scp“ oder „rsync“ kopiert.</li>
|
||||||
|
|
||||||
|
<li>Strukturiert das Script mit functions; ggf. kann es sinnvoll sein, die Aufgabe in mehrere Dateien aufzuteilen.
|
||||||
|
|
||||||
|
</ol>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
Binary file not shown.
@ -1,34 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
function db_backup {
|
|
||||||
|
|
||||||
# Vars
|
|
||||||
host=localhost
|
|
||||||
user=XXXXXXX
|
|
||||||
pass=XXXXXXX
|
|
||||||
db=wordpress
|
|
||||||
|
|
||||||
echo 'DB Export ------> '
|
|
||||||
mysqldump --opt --add-drop-table -h$host -u$user -p$pass $db | gzip > wp-db.sql.gz
|
|
||||||
}
|
|
||||||
|
|
||||||
function file_backup {
|
|
||||||
backupfile="wordpress-backup.tar"
|
|
||||||
|
|
||||||
echo 'File Backup --- building tar File...'
|
|
||||||
tar -cf $backupfile ~/wp*
|
|
||||||
echo '+DONE'
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
echo '-------------------------------------------'
|
|
||||||
echo 'Tolles Backup Script'
|
|
||||||
echo '-------------------------------------------'
|
|
||||||
|
|
||||||
backupdir=backup
|
|
||||||
|
|
||||||
cd ~ ; mkdir $backupdir && cd $backupdir || { echo "FEHLER!!!!"; exit 1 }
|
|
||||||
|
|
||||||
# Funktionsaufrufe
|
|
||||||
db_backup
|
|
||||||
file_backup
|
|
Binary file not shown.
Before Width: | Height: | Size: 3.0 MiB |
Binary file not shown.
@ -1,158 +0,0 @@
|
|||||||
Der Froschkönig oder der eiserne Heinrich
|
|
||||||
|
|
||||||
In alten Zeiten, als das Wünschen noch geholfen hat, lebte einmal ein
|
|
||||||
König, der hatte wunderschöne Töchter. Die jüngste von ihnen war so
|
|
||||||
schön, daß die Sonne selber, die doch so vieles schon gesehen hat,
|
|
||||||
sich verwunderte, sooft sie ihr ins Gesicht schien.
|
|
||||||
|
|
||||||
Nahe bei dem Schlosse war ein großer, dunkler Wald, und mitten darin,
|
|
||||||
unter einer alten Linde, war ein Brunnen. Wenn nun der Tag recht heiß war,
|
|
||||||
ging die jüngste Prinzessin hinaus in den Wald und setzte sich an den Rand
|
|
||||||
des kühlen Brunnens. Und wenn sie Langeweile hatte, nahm sie eine
|
|
||||||
goldene Kugel, warf sie in die Höhe und fing sie wieder auf. Das war
|
|
||||||
ihr liebstes Spiel.
|
|
||||||
|
|
||||||
Nun trug es sich einmal zu, daß die goldene Kugel der Königstochter
|
|
||||||
nicht in die Händchen fiel, sondern auf die Erde schlug und gerade in
|
|
||||||
den Brunnen hineinrollte. Die Königstochter folgte ihr mit den Augen
|
|
||||||
nach, aber die Kugel verschwand, und der Brunnen war tief, so tief,
|
|
||||||
daß man keinen Grund sah.
|
|
||||||
|
|
||||||
Da fing die Prinzessin an zu weinen und weinte immer lauter und konnte
|
|
||||||
sich gar nicht trösten. Als sie so klagte, rief ihr plötzlich jemand
|
|
||||||
zu: »Was hast du nur, Königstochter? Du schreist ja, daß sich ein
|
|
||||||
Stein erbarmen möchte.«
|
|
||||||
|
|
||||||
Sie sah sich um, woher die Stimme käme, da erblickte sie einen Frosch,
|
|
||||||
der seinen dicken, häßlichen Kopf aus dem Wasser streckte. »Ach, du
|
|
||||||
bist's, alter Wasserpatscher«, sagte sie. »Ich weine über meine
|
|
||||||
goldene Kugel, die mir in den Brunnen hinabgefallen ist.«
|
|
||||||
|
|
||||||
»Sei still und weine nicht«, antwortete der Frosch, »ich kann wohl Rat
|
|
||||||
schaffen. Aber was gibst du mir, wenn ich dein Spielzeug wieder
|
|
||||||
heraufhole?«
|
|
||||||
|
|
||||||
»Was du haben willst, lieber Frosch«, sagte sie, »meine Kleider, meine
|
|
||||||
Perlen und Edelsteine, auch noch die goldene Krone, die ich trage.«
|
|
||||||
|
|
||||||
Der Frosch antwortete: »Deine Kleider, deine Perlen und Edelsteine und
|
|
||||||
deine goldene Krone, die mag ich nicht. Aber wenn du mich liebhaben
|
|
||||||
willst und ich dein Geselle und Spielkamerad sein darf, wenn ich an
|
|
||||||
deinem Tischlein neben dir sitzen, von deinem goldenen Tellerlein
|
|
||||||
essen, aus deinem Becherlein trinken, in deinem Bettlein schlafen
|
|
||||||
darf, dann will ich hinuntersteigen und dir die goldene Kugel
|
|
||||||
heraufholen.«
|
|
||||||
|
|
||||||
»Ach, ja«, sagte sie, »ich verspreche dir alles, was du willst, wenn
|
|
||||||
du mir nur die Kugel wiederbringst.« Sie dachte aber, der einfältige
|
|
||||||
Frosch mag schwätzen, was er will, der sitzt doch im Wasser bei
|
|
||||||
seinesgleichen und quakt und kann keines Menschen Geselle sein!
|
|
||||||
|
|
||||||
Als der Frosch das Versprechen der Königstochter erhalten hatte,
|
|
||||||
tauchte er seinen Kopf unter, sank hinab, und über ein Weilchen kam er
|
|
||||||
wieder heraufgerudert, hatte die Kugel im Maul und warf sie ins
|
|
||||||
Gras. Die Königstochter war voll Freude, als sie ihr schönes Spielzeug
|
|
||||||
wiedererblickte, hob es auf und sprang damit fort.
|
|
||||||
|
|
||||||
»Warte, warte!« rief der Frosch. »Nimm mich mit, ich kann nicht so
|
|
||||||
laufen wie du!« Aber was half es ihm, daß er ihr sein Quak-quak so
|
|
||||||
laut nachschrie, wie er nur konnte! Sie hörte nicht darauf, eilte nach
|
|
||||||
Hause und hatte den Frosch bald vergessen.
|
|
||||||
|
|
||||||
Am andern Tag, als sie sich mit dem König und allen Hofleuten zur
|
|
||||||
Tafel gesetzt hatte und eben von ihrem goldenen Tellerlein aß, da kam,
|
|
||||||
plitsch platsch, plitsch platsch, etwas die Marmortreppe
|
|
||||||
heraufgekrochen. Als es oben angelangt war, klopfte es an die Tür und
|
|
||||||
rief. »Königstochter, jüngste, mach mir auf«
|
|
||||||
|
|
||||||
Sie lief und wollte sehen, wer draußen wäre. Als sie aber aufmachte,
|
|
||||||
saß der Frosch vor der Tür. Da warf sie die Tür hastig zu, setzte sich
|
|
||||||
wieder an den Tisch, und es war ihr ganz ängstlich zumute.
|
|
||||||
Der König sah wohl, daß ihr das Herz gewaltig klopfte, und sprach:
|
|
||||||
|
|
||||||
»Mein Kind, was fürchtest du dich? Steht etwa ein Riese vor der Tür
|
|
||||||
und will dich holen?«
|
|
||||||
|
|
||||||
»Ach, nein«, antwortete sie, »es ist kein Riese, sondern ein garstiger
|
|
||||||
Frosch.«
|
|
||||||
|
|
||||||
»Was will der Frosch von dir?«
|
|
||||||
|
|
||||||
»Ach, lieber Vater, als ich gestern im Wald bei dem Brunnen saß und
|
|
||||||
spielte, fiel meine goldene Kugel ins Wasser. Als ich deshalb weinte,
|
|
||||||
hat sie mir der Frosch heraufgeholt. Und weil er es durchaus
|
|
||||||
verlangte, versprach ich ihm, er sollte mein Spielgefährte werden. Ich
|
|
||||||
dachte aber nimmermehr, daß er aus seinem Wasser käme. Nun ist er
|
|
||||||
draußen und will zu mir herein.«
|
|
||||||
|
|
||||||
Da klopfte es zum zweiten Mal, und eine Stimme rief:
|
|
||||||
|
|
||||||
»Königstochter, jüngste,
|
|
||||||
Mach mir auf!
|
|
||||||
Weißt du nicht, was gestern
|
|
||||||
Du zu mir gesagt
|
|
||||||
Bei dem kühlen Brunnenwasser?
|
|
||||||
Königstochter, jüngste,
|
|
||||||
Mach mir auf!«
|
|
||||||
|
|
||||||
Da sagte der König: »Was du versprochen hast, das mußt du auch halten!
|
|
||||||
Geh nur und mach ihm auf!«
|
|
||||||
|
|
||||||
Sie ging und öffnete die Tür. Da hüpfte der Frosch herein und hüpfte
|
|
||||||
ihr immer nach bis zu ihrem Stuhl. Dort blieb er sitzen und rief: »Heb
|
|
||||||
mich hinauf zu dir!« Sie zauderte, bis es endlich der König
|
|
||||||
befahl. Als der Frosch auf dem Stuhl war, wollte er auf den Tisch, und
|
|
||||||
als er da saß, sprach er: »Nun schieb mir dein goldenes Tellerlein
|
|
||||||
näher, damit wir mitsammen essen können.« Der Frosch ließ sich's gut
|
|
||||||
schmecken, ihr aber blieb fast jeder Bissen im Halse stecken.
|
|
||||||
|
|
||||||
Endlich sprach der Frosch: »Ich habe mich satt gegessen und bin
|
|
||||||
müde. Nun trag mich in dein Kämmerlein und mach dein seidenes Bettlein
|
|
||||||
zurecht!« Die Königstochter fing an zu weinen und fürchtete sich vor
|
|
||||||
dem kalten Frosch, den sie sich nicht anzurühren getraute und der nun
|
|
||||||
in ihrem schönen, reinen Bettlein schlafen sollte.
|
|
||||||
|
|
||||||
Der König aber wurde zornig und sprach: »Wer dir geholfen hat, als du
|
|
||||||
in Not warst, den sollst du hernach nicht verachten!«
|
|
||||||
Da packte sie den Frosch mit zwei Fingern, trug ihn hinauf in ihr
|
|
||||||
Kämmerlein und setzte ihn dort in eine Ecke. Als sie aber im Bette
|
|
||||||
lag, kam er gekrochen und sprach: »Ich will schlafen so gut wie
|
|
||||||
du. Heb mich hinauf, oder ich sag's deinem Vater!«
|
|
||||||
|
|
||||||
Da wurde sie bitterböse, holte ihn herauf und warf ihn gegen die
|
|
||||||
Wand. »Nun wirst du Ruhe geben«, sagte sie, »du garstiger Frosch!« Als
|
|
||||||
er aber herabfiel, war er kein Frosch mehr, sondern ein Königssohn mit
|
|
||||||
schönen freundlichen Augen. Der war nun nach ihres Vaters Willen ihr
|
|
||||||
lieber Geselle und Gemahl. Er erzählte ihr, er wäre von einer bösen
|
|
||||||
Hexe verwünscht worden, und niemand hätte ihn aus dem Brunnen erlösen
|
|
||||||
können als sie allein, und morgen wollten sie mitsammen in sein Reich
|
|
||||||
gehen.
|
|
||||||
|
|
||||||
Und wirklich, am anderen Morgen kam ein Wagen herangefahren, mit acht
|
|
||||||
weißen Pferden bespannt, die hatten weiße Straußfedern auf dem Kopf
|
|
||||||
und gingen in goldenen Ketten. Hinten auf dem Wagen aber stand der
|
|
||||||
Diener des jungen Königs, das war der treue Heinrich.
|
|
||||||
|
|
||||||
Der treue Heinrich hatte sich so gekränkt, als sein Herr in einen
|
|
||||||
Frosch verwandelt worden war, daß er drei eiserne Bänder um sein Herz
|
|
||||||
hatte legen lassen, damit es ihm nicht vor Weh und Traurigkeit
|
|
||||||
zerspränge.
|
|
||||||
|
|
||||||
Der Wagen sollte nun den jungen König in sein Reich holen. Der treue
|
|
||||||
Heinrich hob ihn und seine junge Gemahlin hinein, stellte sich wieder
|
|
||||||
hinten hinauf und war voll Freude über die Erlösung seines Herrn. Als
|
|
||||||
sie ein Stück des Weges gefahren waren, hörte der Königssohn, daß es
|
|
||||||
hinter ihm krachte, als ob etwas zerbrochen wäre. Da drehte er sich um
|
|
||||||
und rief:
|
|
||||||
|
|
||||||
»Heinrich, der Wagen bricht!«
|
|
||||||
»Nein, Herr, der Wagen nicht,
|
|
||||||
Es ist ein Band von meinem Herzen,
|
|
||||||
Das da lag in großen Schmerzen,
|
|
||||||
Als Ihr in dem Brunnen saßt
|
|
||||||
Und in einen Frosch verzaubert wart.«
|
|
||||||
|
|
||||||
Noch einmal und noch einmal krachte es auf dem Weg, und der Königssohn
|
|
||||||
meinte immer, der Wagen bräche. Doch es waren nur die Bänder, die vom
|
|
||||||
Herzen des treuen Heinrich absprangen, weil sein Herr nun erlöst und
|
|
||||||
glücklich war.
|
|
8
beispiele/17/grep-loesungen.sh
Normal file
8
beispiele/17/grep-loesungen.sh
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
egrep '\<(Königst|T)ochter\>' frosch.txt
|
||||||
|
|
||||||
|
grep :/bin/bash$ /etc/passwd
|
||||||
|
|
||||||
|
k='[^aeiou]*'
|
||||||
|
grep -i ^${k}a${k}e${k}i${k}o${k}u${k}$ /usr/share/dict/words
|
||||||
|
|
||||||
|
egrep '(\<[[:alpha:]]{4,}\>).*\<\1\>' frosch.txt
|
Binary file not shown.
Before Width: | Height: | Size: 114 KiB |
11
beispiele/17/teilnehmer0.dat
Normal file
11
beispiele/17/teilnehmer0.dat
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Schulz:Hugo:SV Schnaufenberg:123:Herren
|
||||||
|
Schleicher:Detlef:TSV Lahmhausen:13:Herren
|
||||||
|
Flöttmann:Fritz:Sportfreunde Renntal:217:Herren
|
||||||
|
Springinsfeld:Karlheinz:TV Jahnstein:154:Herren
|
||||||
|
von Traben:Gesine:TV Jahnstein:26:Damen
|
||||||
|
Rasbichel:Ulla:TSV Lahmhausen:117:Damen
|
||||||
|
Schwitz:Sieglinde:Sportfreunde Renntal:93:Damen
|
||||||
|
Rasbichel:Katja:TSV Lahmhausen:119:Damen
|
||||||
|
Langbein:Leni:SV Schnaufenberg:55:Damen
|
||||||
|
Zielinger:Hannes:TV Jahnstein:45:Herren
|
||||||
|
Fluschinsky:Käthe:Sportfreunde Renntal:57:Damen
|
Loading…
Reference in New Issue
Block a user