ich bin gerade verwundert warum "wc" mir 11 ausgibt, obwohl ich nur 10 Zeichen an "wc" pipe!
Kann mir jemand mal bitte erklären warum 11 und nicht 10 heraus kommt ? Was ist das 11'te Zeichen ?
Code: Alles auswählen
echo 1234567890 | wc -m
11
Danke
Code: Alles auswählen
echo 1234567890 | wc -m
11
Code: Alles auswählen
$ echo 1234567890 | od -c
0000000 1 2 3 4 5 6 7 8 9 0 \n
0000013
$
OD steht für octal dump. 8+3 = 11Meillo hat geschrieben:07.12.2019 11:35:42Warum schreibt od(1) denn 13 hin? Ich dachte, es sind 11 Zeichen.
Code: Alles auswählen
echo -n 1234567890 | wc -m
Echo gibt eine Textzeile aus, die seine Argumente, Leerzeichen-separariert, enthaelt. Eine Textzeile in Unix endet mit einem Newline-Zeichen. -- Das ist die Logik von echo(1).ren22 hat geschrieben:07.12.2019 13:43:44Vielen herzlichen Dank an alle Beteiligten, dass ist erstmal "so ein Ding" was man wissen muss, dass echo automatisch einen Zeilenumbruch bzw. NUL BYTE string mit ausgibt ...
Mich erinnert das an die chomp-Funktion nach <STDIN> bei Perl.Meillo hat geschrieben:07.12.2019 14:24:13... ich muss jedenfalls immer daran denken, wenn es um das Newline bei echo(1) geht.
Stimmt. Das ist auch bei mir etwas das von meiner wenigen Perl-Programmierung im Gedaechtnis geblieben ist.thoerb hat geschrieben:07.12.2019 14:43:18Mich erinnert das an die chomp-Funktion nach <STDIN> bei Perl.