Linux Modul in der schule fragen

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Linux Modul in der schule fragen

Beitrag von Meillo » 17.09.2021 10:30:43

hikaru hat geschrieben: ↑ zum Beitrag ↑
17.09.2021 10:05:30
Aber dass ein Sonderzeichen zwei verschiedene Sonderzeichenrollen annehmen kann, und dass diese Rolle abhängig vom Kontext ist, empfinde ich als einen konzeptuell hässlichen Designfehler, denn diese Doppelrolle ist unnötig.
Das kann ich verstehen. Mir faellt auch kein anderes Zeichen ein, das in REs zwei verschiedene Sonderbedeutungen haette.
hikaru hat geschrieben: ↑ zum Beitrag ↑
17.09.2021 10:05:30
Ein hoffentlich besseres hypothetisches Beispiel, das so nicht implementiert ist:
'^abc' matcht auf Zeilen, die mit "abc" beginnen. 'abc$' matcht auf Zeilen die mit "abc" enden. Wenn man so ein Fan des Zirkumflex' ist und nichts gegen Kontextsensitivität hat, dann hätte man auch im zweiten Beispiel das Zirkumflex statt des Dollarzeichens wählen können. Dass 'abc^' das Ende der Zeile meint ergäbe sich aus dem Kontext der Position des Zirkumflex' im Pattern.
Es hätte dann nicht die Bedeutung den Anfang eines Patterns zu markieren, sondern allgemein eine der beiden Grenzen. Und wenn man es so erklärt finde ich die Kontextsensitivität deutlich logischer als die von Negation vs. Anfang, denn in dieser Erklärung gäbe es gar keine Doppelbedeutung.
Das ist ein gutes Beispiel und eine gute Idee. Ich sehe momentan keinen Grund warum man da nicht so haette machen koennen, da die beiden Zeilenanker nur jeweils ganz am Anfang bzw. ganz am Ende der Zeile special sind. Auch eine leere Zeile (`^^') und eine Zeile die nur einen Circumflex enthaelt (`^\^^') koennte man matchen. Allerdings weiss ich nicht ob es evtl. die Implementierung der Regexp-Engine komplizierter macht wenn man hier das gleiche Zeichen verwendet. Wobei ich bislang keinen Fall gefunden habe, der darauf hindeutet.
Use ed once in a while!

Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Linux Modul in der schule fragen

Beitrag von Meillo » 17.09.2021 12:14:00

Ich hab mal auf der TUHS-Mailingliste nachgefragt, warum diese Metazeichen fuer REs verwendet worden sind. Diese Antwort steht noch aus, aber der Grund warum man nicht ^ fuer den Zeilenanfang und das Zeilenende verwendet wurde mir sehr schnell gezeigt:

Code: Alles auswählen

s/^/x/
:facepalm:


Siehe: https://minnie.tuhs.org/pipermail/tuhs/ ... 24437.html
... bin mal gespannt was sonst noch fuer Antworten kommen.
Use ed once in a while!

Benutzeravatar
hikaru
Moderator
Beiträge: 13585
Registriert: 09.04.2008 12:48:59

Re: Linux Modul in der schule fragen

Beitrag von hikaru » 17.09.2021 12:32:46

Meillo hat geschrieben: ↑ zum Beitrag ↑
17.09.2021 12:14:00
Siehe: https://minnie.tuhs.org/pipermail/tuhs/ ... 24437.html
Danke!
If you
make ^ mean both beginning and end of line, what does this ed command do:

s/^/x/

Which end gets the x?
Das Vordere natürlich! Da steht ja kein "g" am Ende.
Falls man hingegen das hintere Ende ersetzen will (analog zu: 's/$/x/'), wäre das auch "ganz einfach":

Code: Alles auswählen

's/\(.*\)/\1x/'
Immer diese faulen Ausreden! :mrgreen:

Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Linux Modul in der schule fragen

Beitrag von Meillo » 17.09.2021 12:36:03

hikaru hat geschrieben: ↑ zum Beitrag ↑
17.09.2021 12:32:46
Falls man hingegen das hintere Ende ersetzen will (analog zu: 's/$/x/'), wäre das auch "ganz einfach":

Code: Alles auswählen

's/\(.*\)/\1x/'
Immer diese faule Ausreden! :mrgreen:
Dann arbeite mal einen Tag mit ed, und du wirst deine Meinung von ``ganz einfach'' ganz schnell aendern! ;-)
Use ed once in a while!

Antworten