Ich habe eine Reihe von .text
Dateien, von denen die meisten mit dem Standard nl enden.
Ein Paar hat am Ende keinen Terminator. Das letzte physikalische Byte ist (im Allgemeinen) ein alphabetisches Zeichen.
Ich habe verwendet cat *.text >| /tmp/joined.text
, aber dann einige Stellen in join.text bemerkt, an denen die erste Zeile einer Datei am Ende der letzten Zeile einer vorherigen Datei erschien. Bei der Überprüfung der vorherigen Datei stellte ich fest, dass es keinen Zeilenabschluss gab - die Verkettung wurde erklärt.
Das warf die Frage auf, was der einfachste Weg ist, sich zu verketten und in der fehlenden Newline zu bleiben. Was ist mit diesen Optionen?
- Eine Lösung, die einigen Eingabedateien möglicherweise eine leere Zeile hinzufügt. Für mich ist das kein Problem, da die Verarbeitung von join.text damit umgehen kann.
- Eine Lösung, die cr / fl nur zu Dateien hinzufügt, die noch nicht so enden.
\n
? Auf * nix-Systemen enden die Zeilen mit einem einzigen \n
. Das \r\n
ist eine Windows-Sache. Und wo willst du das? Am Ende jeder Zeile? Das Ende der Datei?
while
diese fehlerhaften letzten Zeilen überspringt.