Letzte Zeile / EOL: tail [Gelöst]

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Letzte Zeile / EOL: tail [Gelöst]

Beitrag von jmar83 » 02.11.2020 13:01:06

Hallo zusammen!

Code:

Code: Alles auswählen

root@xxx-b827ebae536a:/usr/sbin# tail -n0 /var/spool/cron/crontabs/root
root@xxx-b827ebae536a:/usr/sbin# tail -n1 /var/spool/cron/crontabs/root
30 3 * * 1,3,5,0 /sbin/reboot
root@xxx-b827ebae536a:/usr/sbin# cat /var/spool/cron/crontabs/root
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (- installed on Wed Oct 28 16:45:26 2020)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

30 3 * * * bash /opt/xxx_bkp/database/mysql_dumper.sh > /dev/null 2>&1



30 3 * * 1,3,5,0 /sbin/reboot
root@xxx-b827ebae536a:/usr/sbin#

...und wenn ich die Datei mit dem in WinSCP integrierten Texteditor öffne, dann sieht es so aus:
https://i.ibb.co/DgH8sg5/1223.jpg

Dass man z.b. bei nano unter Linux INNER mit den Pfeiltasten eine Zeile nach unten Springen kann, selbst wenn gar keine existiert, ist mir klar. 1 untere (+vermeinliche) Zeile bei nano ist realiter also gar keine (0) Leerzeile, 2 Leerzeilen bei nano sind dann sind (1) Leerzeile (was waren denn das für Holzköpfe von Programmierern, welche so n Quasch zusammenprogrammiert haben?!?)

Was ist nun korrekt:

- Macht auch der Text-Editor von WinSCP (analog nano) einfach mal ne pseudo-Leerzeile hin wenn man die Datei damit betrachtet
- Machen die Ausgaben von "cat" sowie "tail -n0 ..." evtl. "trimming" mit return-escape-Sequenzen

Vielen Dank für die Feedbacks.
Zuletzt geändert von jmar83 am 02.11.2020 15:20:41, insgesamt 1-mal geändert.
Freundliche Grüsse, Jan

mludwig
Beiträge: 793
Registriert: 30.01.2005 19:35:04

Re: Letzte Zeile / EOL: tail

Beitrag von mludwig » 02.11.2020 13:52:17

In deinem Screenshot steht unten links die Cursor-Position: Zeile 11/10, also 11 von 10 ... das sagt es eigentlich deutlich.

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

Re: Letzte Zeile / EOL: tail

Beitrag von Meillo » 02.11.2020 15:05:04

Ich verstehe nicht ganz was deine Frage ist.

Willst du wissen, was nun wirklich in der Datei gespeichert ist? Dann schau dir z.B. `od -c DATEI' an.
Use ed once in a while!

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Letzte Zeile / EOL: tail

Beitrag von jmar83 » 02.11.2020 15:19:10

Habe es nun herausgefunden: nano macht per default (ohne irgendwelche .bashrc-Einstellungen) IMMER eine Leerzeile am Ende.

Und das Problem mit dem Crontab-File war nicht die fehlende Leerzeile, sondern die `\r\n`-escape-Sequenz auf der letzen Zeile. (dann gibt "cat -e ... " das hier aus: " ... ^M$"

Linux scheint in dieser Hinsicht eher dumm zu sein, dass es überhaupt einen EOF-Marker braucht; und wenn es schon einen braucht, dann sollte auf "String enthält" geprüft werden mit

- \r
ODER
- \n
ODER
- \r\n


Also wenn ich was programmiere, was das zuverässig prüfen soll, dann mache ich es jedenfalls so. Ohne wenn und aber.
Freundliche Grüsse, Jan

Benutzeravatar
Livingston
Beiträge: 1366
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Letzte Zeile / EOL: tail

Beitrag von Livingston » 02.11.2020 16:34:05

jmar83 hat geschrieben: ↑ zum Beitrag ↑
02.11.2020 15:19:10
Linux scheint in dieser Hinsicht eher dumm zu sein, dass es überhaupt einen EOF-Marker braucht; und wenn es schon einen braucht, dann sollte auf "String enthält" geprüft werden mit
- \r
ODER
- \n
ODER
- \r\n
Ich würde eher sagen: konsequent, denn ^M == /r == 0x0D. Das \r\n hat Microsoft eingeführt, lange nachdem Unixe nur mit \n arbeiteten.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

baeuchlein
Beiträge: 149
Registriert: 03.09.2020 04:48:45

Re: Letzte Zeile / EOL: tail [Gelöst]

Beitrag von baeuchlein » 02.11.2020 16:42:05

jmar83, am Ende "meiner" /etc/crontab steht kein spezielles Ende-Kennzeichen (EOF). Linux kommt also ohne sowas aus. Ich hab' eher den Eindruck, diese seltsamen Zeichen am Ende der crontab (?) deines Systems machen bei dir Probleme.

Ansonsten geht's mir ähnlich wie mellio: Ich verstehe auch nicht, was du eigentlich konkret wissen oder welches Problem du lösen möchtest.

P.S.: Wenn ich das gerade von Livingston Geschriebene richtig verstehe, sind "/r" und "/n" sowas wie ASCII 13 ("CR") und evtl. ASCII 10 ("LF"). Das wären dann keine speziellen EOF-Zeichen (EOF=Dateiende), sondern Zeichen, die das Ende einer Zeile kennzeichnen. Kann durchaus sein, dass Linux das braucht. Ich drück' grundsätzlich in Konfigurationsdateien mit ASCII-Inhalt am Ende auch der letzten Zeile nochmal "Return/Enter" und pflanze damit CR (und evtl. LF) dort hin. Gehört ja auch sonst ans Ende jeder Zeile, da schadet's am Dateiende wohl auch nicht.

Benutzeravatar
Livingston
Beiträge: 1366
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Letzte Zeile / EOL: tail [Gelöst]

Beitrag von Livingston » 02.11.2020 16:47:13

Jep, das Zeilenende unter Linux ist ein pures EOL == /n == 0x0A = 10 dezimal. Für EOF gibt's nix in Linux.
EDIT: Nachtrag
Statt von Linux sollte man hier eher von GNU reden, denn der Linux-Kernel interessiert sich überhaupt nicht für Zeichen-Interperetation.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

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

Re: Letzte Zeile / EOL: tail [Gelöst]

Beitrag von Meillo » 02.11.2020 17:16:10

Mal ein bisschen Hintergrundwissen:

\r\n kommt von den Schreibmaschienen, die fuer eine neue Zeile zwei Aktionen benoetigen: Den Wagen zum Zeilenanfang zurueck zu fahren (Carriage Return) und die Rolle eine Zeile weiter zu drehen (Line Feed). Bei mechanischen Schreibmaschinen macht das der grosse Hebel rechts oben beides kombiniert. Wenn man Typewriter automatisiert ansteuert muss man die zwei Aktionen separat veranlassen. Das ist eine Hinterlassenschaft der Mechanik dieser Maschienen.

Die Macher von Unix haben sich entschieden, auf ihrem digitalen System diese Doppelaktion in \n (New Line) zu vereinen, da sie normalerweise nur in Kombination Sinn macht. Der Teletype-Treiber, der die tatsaechliche Hardware (die damals sowas wie eine Schreibmaschine war) angesteuert hat, hat die dann automatisch beide Aktionen veranlasst. Dass das Zeilenende nur ein Zeichen umfasst, statt zwei hat Vorteile. Es vereinfacht die Statemachine von Parsern und erlaubt es, nur ein Zeichen fuer ungetc(3) zu puffern. Zudem: Warum zwei Zeichen verwenden, wenn eines ausreicht?!

Dass DOS und danach Windows *viel* spaeter \r\n verwendet haben ist IMO eine schlechte Entscheidung gewesen. (MacOS (pre X) hat nur \r verwendet, was aehnlich gut wie \n ist -- von der Sinnhaftigkeit IMO nicht ganz auf gleicher Hoehe, aber ebenso deutlich besser wie die Kombination aus zwei Zeichen. Die Klartext-Internetprotokolle verwenden auch \r\n weil das am portabelsten war. Windows konnte nur \r\n, Unix war in der Lage \n oder \r\n zu senden und zu lesen.

Dass Unix nun nicht beliebige Zeilenendezeichen und -kombination akzeptiert sollte nicht weiter verwundern. Seit 50 Jahren (!) verwendet Unix \n, stimmig, einheitlich und durchgaengig. Ein \r kann in Unix fuer ander Dinge eingesetzt werden. Es hat nichts mit Zeilenenden zu tun. Wenn man nun alle Programme dahingehend erweitern wuerde, dass sie verschiedene Zeilenendekombination akzeptieren wuerden, die zuvor keine Zeilenenden waren und vermutlich zu anderen Zwecken eingesetzt worden sind, waere das nicht nur ein Riesenaufwand, sondern auch ein Riesenchaos. Man koennte sich auf nichts mehr verlassen. Man wuerde die Konsistenz und Stimmigkeit aufgeben, zugunsten einer Bequemlichkeit, die auf Unwissenheit und Datenchaos basiert.

Dass am Ende der letzten Zeile ein Newline stehen muss, ist eine Definitions- und Konventionsentscheidung: Textdateien in Unix bestehen aus Zeilen und Zeilen enden mit einem Newline-Zeichen. So einfach ist das. (Hier sei auch an Doug McIlroys ``The UNIX and the Echo'' hingewiesen. https://everything2.com/title/The+UNIX+and+the+Echo) Alle Textutilities in Unix fuegen diese letzte Newline an -- nicht als Sonderfall, sondern als Normalfall, denn jede Zeile, egal ob die letzte oder eine davor, endet auf ein Newline. Taeten sie das nicht, dann koennte man beispielsweise `cat a b' nicht generell verwenden. Dann muesst cat(1) eine Logik haben, Newlines zwischendurch einzufuegen ... aber nur wenn es sich um Textdateien handelt, denn bei Binaerdateien duerfte es das nicht ... aber wie unterscheidet man Text- und Binaerdateien. In Unix ist alles Text, und damit ist die Frage eine Interpraetationssache der verarbeitenden Programme. Ein generisches Tool wie cat(1) kann es somit nicht wissen. Zudem waere es noch nicht mal so einfach, denn man koennte beim Wiederzusammenfuegen mit cat(1) nicht unterscheiden, ob eine Textdatei mit `split -b' oder `split -l' zerteilt worden ist. -- Das nur als kleiner Einblick in die Abgruende und auf die Drachen, denen man gegenuebersteht, wenn man es ``viel bequemer und besser'' machen will.


Cross-Plattform-Arbeiten und beschraenkte Programme, wie der interne Editor von WinSCP, sind zumeist frustrierend, weil sie nur versuchen koennen, sich jeweils richtig zu verhalten, ohne definitiv wissen zu koennen, was tatsaechlich richtig waere. Probleme wie deines sind mri auch schon oft genug untergekommen. Wenn die Emotion verflogen ist, solltest du es als Pech bei der Kombination der Programme und Arbeitsumgebungen werten und nicht mehr einer vermeintlich schlechten Programmierung von Unix die Schuld dafuer geben.
Use ed once in a while!

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

Re: Letzte Zeile / EOL: tail

Beitrag von Meillo » 02.11.2020 17:23:23

jmar83 hat geschrieben: ↑ zum Beitrag ↑
02.11.2020 15:19:10
Habe es nun herausgefunden: nano macht per default (ohne irgendwelche .bashrc-Einstellungen) IMMER eine Leerzeile am Ende.

Und das Problem mit dem Crontab-File war nicht die fehlende Leerzeile, sondern die `\r\n`-escape-Sequenz auf der letzen Zeile. (dann gibt "cat -e ... " das hier aus: " ... ^M$"

Linux scheint in dieser Hinsicht eher dumm zu sein, dass es überhaupt einen EOF-Marker braucht; und wenn es schon einen braucht, [...]
Wenn der Wunsch vorhanden ist, kann ich auf die hier getaetigten Aussagen auch noch konkret eingehen und erklaeren in welcher Weise sie eine falsche Deutung der Tatsachen enthalten, was auf abweichenden Denkkonzepten und fehlender Kenntnis der Konzepte von Unix beruht. Ich will halt nicht lange Erklaerungen schreiben, wenn's dann niemanden interessiert.


@jmar83: Es tut mir leid, dass ich mehrmals schon von fehlender Kenntnis geschrieben habe. In deiner Emotion versuchst du uns halt die Welt zu erklaeren, dabei hast du noch gar nicht verstanden, was du vor dir hast. Etwas Demut und Selbstinfragestellen wuerde dir gut tun. Dann koenntest du etwas lernen und klueger aus der Sache raus gehen.
Use ed once in a while!

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Letzte Zeile / EOL: tail [Gelöst]

Beitrag von jmar83 » 02.11.2020 17:35:48

Vielen Dank für die kompetenten Antworten, befasse mich gerne näher damit wenn ich mal die Zeit dafür habe... :THX:
Freundliche Grüsse, Jan

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

Re: Letzte Zeile / EOL: tail [Gelöst]

Beitrag von Meillo » 02.11.2020 19:54:00

Wenn du dann, zu gegebener Zeit, Hilfe brauchst, dann melde dich gerne wieder.
Use ed once in a while!

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Letzte Zeile / EOL: tail [Gelöst]

Beitrag von eggy » 02.11.2020 20:44:23

@Meillo: Bei Wikipedia gibts ne nette Erklärung, warum in einigen Systemen dann doch die Kombination benutzt wurde:
https://de.wikipedia.org/wiki/Fernschre ... d_Computer
Ob's stimmt? Keine Ahnung, taugt jedenfalls als gute Nachtgeschichte für heute :mrgreen:
Die englische Wikipedia hat etwas mehr dazu, https://en.wikipedia.org/wiki/Newline sagt:
On such systems, applications had to talk directly to the Teletype machine and follow its conventions since the concept of device drivers hiding such hardware details from the application was not yet well developed. Therefore, text was routinely composed to satisfy the needs of Teletype machines. Most minicomputer systems from DEC used this convention. CP/M also used it in order to print on the same terminals that minicomputers used. From there MS-DOS (1981) adopted CP/M's CR+LF in order to be compatible, and this convention was inherited by Microsoft's later Windows operating system.
Und der Vollständigkeit halber, man crontab sagt übrigens:
cron setzt voraus, dass jeder Eintrag in einer Crontab mit einem Zeilenvorschubzeichen endet. Falls dem letzten Eintrag in einer Crontab der Zeilenvorschub fehlt, betrachtet cron die Crontab als (zumindest teilweise) beschädigt und verweigert deren Installation.
Schaut man sich die englische Fassung an:
cron requires that each entry in a crontab end in a newline character. If the last entry in a crontab is missing the newline, cron will consider the crontab (at least partially) broken and refuse to install it.
Für mich ist aus alter Gewohnheit nen Zeilenvorschub immer noch "LF" und wenn ich grad nicht viel zu faul wäre, würd ich jetzt noch mal genauer in den src schauen. Beim kurzen Überflug finde ich da nur "\n" ... falls jemand selbst nachsieht und was anderes findet, würd ich mich über Dateiname und Zeilenummer freuen.

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

Re: Letzte Zeile / EOL: tail [Gelöst]

Beitrag von Meillo » 02.11.2020 21:28:29

eggy hat geschrieben: ↑ zum Beitrag ↑
02.11.2020 20:44:23
Die englische Wikipedia hat etwas mehr dazu, https://en.wikipedia.org/wiki/Newline sagt:
On such systems, applications had to talk directly to the Teletype machine and follow its conventions since the concept of device drivers hiding such hardware details from the application was not yet well developed. Therefore, text was routinely composed to satisfy the needs of Teletype machines. Most minicomputer systems from DEC used this convention. CP/M also used it in order to print on the same terminals that minicomputers used. From there MS-DOS (1981) adopted CP/M's CR+LF in order to be compatible, and this convention was inherited by Microsoft's later Windows operating system.
Dieser Abschnitt ist hilfreich. Entscheidend ist, dass ...
1) die Abstraktion mittels Geraetetreibern noch nicht ausgepraegt genug war
2) man halt jedes Mal wieder kompatibel sein wollte

Unix hatte eine Abstraktion ueber Geraetetreiber schon sehr frueh (moeglicherweise auch von Anfang an -- EDIT: vermutlich ab dem Zeitpunkt, als es auf andere Hardware portiert wurde, aus dem Kopf und ohne Sicherheit wuerde ich sagen 1973 oder davor). Darum lag es nahe, unnoetige Quirks von realer Hardware darin zu kapseln und das System davon zu befreien.


Und der Vollständigkeit halber, man crontab sagt übrigens:
cron setzt voraus, dass jeder Eintrag in einer Crontab mit einem Zeilenvorschubzeichen endet. Falls dem letzten Eintrag in einer Crontab der Zeilenvorschub fehlt, betrachtet cron die Crontab als (zumindest teilweise) beschädigt und verweigert deren Installation.
Schaut man sich die englische Fassung an:
cron requires that each entry in a crontab end in a newline character. If the last entry in a crontab is missing the newline, cron will consider the crontab (at least partially) broken and refuse to install it.
Damit betont die Dokumentation nur, dass es eine normale/valide/vollstaendige Textdatei nach Unix-Definition erwartet.

Es gibt verschiedene Implementierungen von Cron, diese koennen sich in diesem Punkt unterscheiden. Das nur als Hinweis.

Es gab auch mal einen verbreiteten Compiler (habe nur vergessen welcher es war), der hat sich bei fehlendem Newline am Ende der Quellcodedateien auch verschluckt. Darum ist es fuer viele zur Gewohnheit geworden, immer eine leere Zeile am Dateiende anzufuegen. Sie stellt sicher, dass das letzte Zeichen der Datei stets ein Newline-Zeichen ist (entweder nur eines oder zwei hintereinander).

Editoren wie ed und vi ergaenzen automatisch ein Newline am Ende, falls man speichert und es davor keines gab. Normalerweise wird diese Korrektur dem User gemeldet.

Anders als bei der Verarbeitung aller moeglicher Arten von Newline-Zeichenkombination, denke ich, dass Unix-Programme moeglichst mit unvollstaendigen letzten Zeilen umgehen koennen sollten. Cron sollte die Crontab also dennoch vollstaendig einlesen (und sich das abschliessende Newline-Zeichen dazudenken). Mit Unix Text-Editoren sollten sie zwar nicht erzeugt werden koennen, aber sie handhaben zu koennen bzw. eine aussagekraeftige Fehlermeldung auszugeben waere wuenschenswert.


In jmar83s Fall war jedoch, soweit ich das erkennen konnte, nicht ein fehlendes Newline am Ende das Problem, sondern ein \r vor dem Newline (von `cat -e' dargestellt als `^M'). Mit dem konnte Cron nichts anfangen.

Für mich ist aus alter Gewohnheit nen Zeilenvorschub immer noch "LF" und wenn ich grad nicht viel zu faul wäre, würd ich jetzt noch mal genauer in den src schauen. Beim kurzen Überflug finde ich da nur "\n" ... falls jemand selbst nachsieht und was anderes findet, würd ich mich über Dateiname und Zeilenummer freuen.
Meine ASCII-Manpage sagt mir:
Manpage ascii(7) hat geschrieben: 012 10 0A LF '\n' (new line)
Line feed = Newline = Zeilenvorschub = \n.
Use ed once in a while!

gugus
Beiträge: 376
Registriert: 04.09.2002 17:41:17
Wohnort: da wo ich zu Hause bin

Re: Letzte Zeile / EOL: tail [Gelöst]

Beitrag von gugus » 02.11.2020 22:01:31

@Meillo, habe gerade genüsslich Deine Ausführung gelesen, sehr schön.
Ich denke ich kopiere es uns lasse es unseren "Jungstern" mal zukommen, zur Auffrischung :mrgreen:
:THX:
gruss
gugus

Benutzeravatar
Livingston
Beiträge: 1366
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Letzte Zeile / EOL: tail [Gelöst]

Beitrag von Livingston » 02.11.2020 22:14:57

Man kann die Trennung von Interpretation (z.B. durch Anzeigekommandos wie cat, less, etc.) und hardwarenäherer Übertragung auf Geräten schön betrachten, wenn man einen Blick auf die man page des Befehls stty wirft. Damit kann man einem Terminal unter anderem sagen, was es mit einzelnen Steuerzeichen anfängt. Terminal bedeutet in diesem Zusammenhang z.B. eine virtuelle Console (tty1-6), die serielle Schnittstelle /dev/ttyS0, ein Pseudoterminal (dev/pts) wenn man die bash unter X aufruft, und vieles andere mehr.
Mein Tip: Einfach mal mit 'ner bash in xterm oder einem anderen Terminal mit stty einstellen, was beim Eintrudeln eines newline passieren soll. Kaputtmachen kann man nix, betrifft nur das aktuelle Fenster.
Aber Vorsicht: Das Thema ist echt komplex. Wenn man sich mal auf die Erforschung einlässt, kommt man von Hölzken auf Stöcksken (schreibt man das so?). Man folge einfach der Schnitzeljagd durch die man pages und lasse sich verwirren, wie verknotet alles miteinander ist.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

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

Re: Letzte Zeile / EOL: tail [Gelöst]

Beitrag von Meillo » 02.11.2020 22:36:38

gugus hat geschrieben: ↑ zum Beitrag ↑
02.11.2020 22:01:31
@Meillo, habe gerade genüsslich Deine Ausführung gelesen, sehr schön.
Ich denke ich kopiere es uns lasse es unseren "Jungstern" mal zukommen, zur Auffrischung :mrgreen:
:THX:
... und stell ihnen 'ne mechanische Schreibmaschine auf den Tisch, damit sie so ein Geraet auch mal benutzen koennen. Wenn du von Youngsters schreibst, kennen die das ja vielleicht gar nicht. Wenn man Unix Terminals verstehen lernen will, sollte man bei mechanischen Schreibmaschinen anfangen! ;-)

Was Livingston schreibt ist auch ein guter Tipp, aber dafuer braucht man schon Grundlagen, die man sich in der Reihenfolge der historischen Entwicklung aneignen sollte ... zumindest wenn man auf tatsaechliches, tiefes Verstaendnis aus ist.
Use ed once in a while!

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Letzte Zeile / EOL: tail [Gelöst]

Beitrag von eggy » 02.11.2020 22:37:52

Sorry Meillo, für ne ausführliche Antwort bin ich leider viel zu müde. Ich hab im Code irgendwie die Hexwerte erwartet ... aber frag mich nicht warum. Und das \n dann auch nicht weiter übersetzt ... Nuja, <ausredenmodus> war nen langer Tag. </ausredenmodus>
Meillo hat geschrieben: ↑ zum Beitrag ↑
02.11.2020 21:28:29
Meine ASCII-Manpage sagt mir:
Aufgrund dessen, dass ich weder mit Linux noch Windows großgeworden bin, bin ich auch nicht binaer newlinesozialisiert, cr oder cr-lf
sind in meiner Welt eben nicht die einzigen Darstellungen. Der Teil meines Gehirns, in dem die passenden Erinnerungen abgelegt sind, schläft schon tief und fest. Nimm solang ersatzweise mal EBCDIC als Beispiel: da gibt's NL 0x15.
https://de.wikipedia.org/wiki/EBCDIC#Steuerzeichen

Die englische Wikipedia hat übrigens auch noch nen netten Artikel zu "\n": https://en.wikipedia.org/wiki/%5Cn

und eh das hier noch weiter ins (wie immer sehr interessante) Offtopic abwandert, wander ich mal in Richtung Kopfkissen.

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

Re: Letzte Zeile / EOL: tail [Gelöst]

Beitrag von Meillo » 02.11.2020 22:42:31

eggy hat geschrieben: ↑ zum Beitrag ↑
02.11.2020 22:37:52
und eh das hier noch weiter ins (wie immer sehr interessante) Offtopic abwandert, wander ich mal in Richtung Kopfkissen.
Da schliesse ich mich gerne an ... sicherheitshalber *ohne* mir vorher noch EBCDIC anzuschauen; das fuehrt sonst nur zu Alptraeumen. :-D
Use ed once in a while!

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Letzte Zeile / EOL: tail [Gelöst]

Beitrag von jmar83 » 26.02.2021 16:04:03

Thx!! :THX:
Freundliche Grüsse, Jan

Antworten