Werfen Sie einen Blick auf dieses Beispiel bitte:Warum sagt das "wc" -Befehl, dass ich nur eine Zeile in einer Datei habe, obwohl es tatsächlich zwei gibt?
$ cat < demo
man
car$
$
$ od -x < demo
0000000 616d 0a6e 6163 0072
0000007
$
$ wc < demo
1 2 7
Wie Sie sehen können, habe ich 3 Zeichen dort ankam (man
: 6d 61 6e) durch eine neue Zeile folgt (\n
: 0a) und dann noch drei (car
: 63 61 75) mit einem NUL-Zeichen (00) abgeschlossen. Natürlich gibt es zwei Zeilen in dieser Datei, aber der wc-Befehl meldet, dass die Datei nur einen hat. Was gibt? Oder denkst du, dass du, um dich als Unix-Zeile zu qualifizieren, mit einem Newline-Zeichen beenden musst? NUL zählt nicht?