2010-12-09 6 views
0

Es scheint, dass es ein (Char) 10 an das Ende der Datei anhängen. Beachten Sie, dass ich dies in Nautilus mache, nicht programmatisch. Warum passiert das? Wie man es verhindert?Ich habe eine leere Datei in Linux erstellt und ein Zeichen hinzugefügt. Aber es wird als 2-Byte-Datei angezeigt

+2

Wenn von nautilus (was AFAIK nicht Dateien bearbeiten) du meinst gedit, es fügt einen Zeilenumbruch hinzu - https://bugs.launchpad.net/ubuntu/+source/gedit/+bug/379367 –

Antwort

4

ASCII 0x0A ist die neue Zeile '\ n'. Wenn Ihre Datei mit echo 1 >file erstellt wurde, wird eine neue Zeile hinzugefügt. Wenn Sie dieses Verhalten überspringen möchten, tun Sie echo -n 1 >file.

+0

Ich weiß, es ist. Aber gibt es keinen Weg, dieses Verhalten zu verhindern? –

+0

In meiner Bearbeitung erfahren Sie, wie Sie dieses Verhalten überspringen können. –

+0

@devoured: Du hast wohl nach Eingabe des Charakters Enter gedrückt :) – Quamis

1

Das ASCII-Zeichen mit dem Dezimalcode 10 (0x0a in hex) ist '\ n', d. H. Die neue Zeile (LF - Line Feed) in Unix-ähnlichen Systemen. Wie hast du die Datei erstellt?

EDIT:

Wenn Sie Echo verwenden, sollten Sie vielleicht versuchen, die -n Flagge, die das endgültige Newline unterdrückt, die standardmäßig ausgegeben wird:

echo -n X > file 
Verwandte Themen